Redis的安装、基本使用以及与SpringBoot的整合
1、概述
Redis 是现在很流行的一个 NoSql 数据库,每秒读取可以达到10万次,能够将数据持久化,支持多种数据结构,容灾性强,易扩展,常用于项目的缓存中间件。
今天我们就来聊聊关于Redis的那些事儿:
1)Redis在CentOS7中的安装
2)Redis的基本使用
3)Redis与SpringBoot的整合
2、Redis在CentOS7中的安装
2.1 下载Redis
可登录Redis官网(https://redis.io/),下载最新版本的Redis安装包

2.2 解压Redis安装包
1)将安装包 redis-6.2.5.tar.gz 拷贝到 CentOS7 ,例如 /home 目录下
2)解压
# tar -zxvf redis-6.2.5.tar.gz
2.3 安装依赖包
# yum -y install gcc-c++
2.4 编译并安装Redis
进入解压后的redis安装包目录,执行编译并安装
# cd redis-6.2.5
# make && make install (过程需要几分钟)

2.5 配置Redis配置文件
1)创建 /usr/local/redis 目录,用于存放配置文件
# cd /usr/local
# mkdir redis
2)创建 /usr/local/redis/db 目录,用于存放数据文件
# cd /usr/local/redis
# mkdir db
3)进入 /home/redis-6.2.5/ 目录,拷贝redis配置文件到 /usr/local/redis 目录
# cd /home/redis-6.2.5/
# cp redis.conf /usr/local/redis/
4)修改redis配置文件
# cd /usr/local/redis/
# vi redis.conf
修改以下几个地方:




2.6 配置Redis启动脚本
1)进入 /home/redis-6.2.5/utils 目录
2)拷贝 启动脚本(redis_init_script) 文件到 /etc/init.d/ 目录下
# cp redis_init_script /etc/init.d/
3)进入 /etc/init.d/ 目录
# cd /etc/init.d/
4)修改启动脚本
# vi redis_init_script

2.7 启动redis
1)启动、停止redis命令
# /etc/init.d/redis_init_script start // 启动命令
# /etc/init.d/redis_init_script stop // 停止命令
2)设置开机自启redis
# chkconfig redis_init_script on
3)启动redis客户端
# redis-cli
> AUTH zhuifengren // 之前在配置文件中设置的密码
3、redis的基本使用
3.1 基本命令
1)获得key
keys *
keys a*
keys *b
2)获得key的类型
type name
3)获得key的剩余时间,-1代表永久
ttl name
4)设置key的过期时间,单位秒
expire name 30
5)切换数据库,默认16个库,下标是 0 到 15,默认使用 0
select 2
6)清空当前库的所有数据(慎用)
flushdb
7) 清空所有库的所有数据(慎用)
flushall
8)删除key
del name
del list2
3.2 string类型
1)设置值
set name zhangsan
set age 30
2)得到值
get name
get age
3)key不存在才设置值
setnx name lisi
4)设置值的同时设置过期时间
set name zhangsan ex 15
5)追加字符串
append name 666
6)查看字符串长度
strlen name
7)自增1,仅限数字
incr age
8)自减1,仅限数字
decr age
9)指定自增的数量,仅限数字
incrby age 11
10)指定自减数量,仅限数字
decrby age 11
11)截取字符串,1和5代表字符串的下标,-1代表取字符串的长度
getrange name 1 5
getrange name 1 -1
12)从某一位置开始替换字符串
setrange name 9 ccccc
13)设置多个键值
mset name1 zhangsan name2 lisi
14)得到多个键值
mget name1 name2
3.3 hash类型
1)设置hash值
hset user1 name zhangsan age 30
2)获得hash值的某个属性
hget user1 name
3)获得hash值的多个属性
hmget user1 name age
4)获得hash值的所有属性
hgetall user1
5)查看有多少个属性
hlen user1
6)列出所有key
hkeys user1
7)列出所有值
hvals user1
8)数值属性增长
hincrby user1 age 10
9)是否存在某属性
hexists user1 age
10)删除某个属性
hdel user1 age
3.4 list类型
1)从左侧存入数据
lpush list1 1 2 3 4 5
2)从右侧存入数据
rpush list2 1 2 3 4 5
3)查看数组值
lrange list1 0 -1
4)从左边拿出N个值,不设定拿出个数,默认是1
lpop list1 2
5)从右边拿出N个值,不设定拿出个数,默认是1
rpop list1 2
6)得到数组的长度
llen list1
7)获取数组下标的值,值不删
lindex list2 2
8)替换某下标的值
lset list2 2 10
9)在某值前插入一个新值
linsert list2 before 10 9
10)在某值后插入一个新值
linsert list2 after 10 11
11)删除N个相同的数据
lrem list2 2 10
12)截取元素,替换原来的数组
ltrim list2 2 3
3.5 set类型
1)添加set,会自动去重
sadd set1 a b c d e a b c
2)获取set中的所有元素
smembers set1
3)查看set中有多少个元素
scard set1
4)判断set中是否存在该元素
sismember set1 e
5)删除指定元素
srem set1 a
6)出栈N个元素
spop set1
7)随机展示N个元素,不从set中删除
srandmember set1
8)把一个set中的元素移动到另一个set中
smove set1 set2 e
9)计算差集
sdiff set1 set2
10)计算交集
sinter set1 set2
11)计算并集
sunion set1 set2
3.6 zset类型
1)添加元素 ,会自动去重
zadd zset1 10 zhangsan 20 lisi 30 wangwu
2)获取元素,会根据分数排序
zrange zset1 0 -1
3)获取元素,显示分数
zrange zset1 0 -1 withscores
4)获取元素的下标
zrank zset1 lisi
5)获得某一元素的分数
zscore zset1 lisi
6)得到zset中元素的个数
zcard zset1
7)统计分数在区间内的元素个数
zcount zset1 30 40
8)显示分数在区间内的元素,包括分数是 30 和 40 的元素
zrangebyscore zset1 30 40
9)显示分数在区间内的元素,数字前面加上左括号代表不包括分数是40的元素
zrangebyscore zset1 30 (40
10)显示分数在区间内的元素,带分页
zrangebyscore zset1 30 40 limit 1 2
11)删除zset的元素
zrem zset1 lisi
4、Redis与SpringBoot的整合
1)引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2)yml文件中配置redis
spring:
redis:
database: 1
host: 192.168.1.144
port: 6379
password: zhuifengren
3)测试redis
@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class)
public class TestRedis { @Autowired
private RedisTemplate<String, String> redisTemplate; @Test
public void testSetString() {
redisTemplate.opsForValue().set("name", "zhangsan");
} }
5、综述
今天讲了关于Redis的一些知识。
希望大家多多评论交流,共同成长。
Redis的安装、基本使用以及与SpringBoot的整合的更多相关文章
- Redis哨兵机制的实现及与SpringBoot的整合
1. 概述 前面我们聊过Redis的读写分离机制,这个机制有个致命的弱点,就是主节点(Master)是个单点,如果主节点宕掉,整个Redis的写操作就无法进行服务了. 为了解决这个问题,就需要依靠&q ...
- Redis集群的搭建及与SpringBoot的整合
1.概述 之前聊了Redis的哨兵模式,哨兵模式解决了读的并发问题,也解决了Master节点单点的问题. 但随着系统越来越庞大,缓存的数据越来越多,服务器的内存容量又成了问题,需要水平扩容,此时哨兵模 ...
- Windows环境下springboot集成redis的安装与使用
一,redis安装 首先我们需要下载Windows版本的redis压缩包地址如下: https://github.com/MicrosoftArchive/redis/releases 连接打开后如下 ...
- springBoot 官方整合的redis 使用教程:(StringRedisTemplate 方式存储 Object类型value)
前言:最近新项目准备用 redis 简单的缓存 一些查询信息,以便第二次查询效率高一点. 项目框架:springBoot.java.maven 说明:edis存储的数据类型,key一般都是Strin ...
- redis的安装配置
主要讲下redis的安装配置,以及以服务的方式启动redis 1.下载最新版本的redis-3.0.7 到http://redis.io/download中下载最新版的redis-3.0.7 下载后 ...
- Linux下Redis的安装和部署
一.Redis介绍 Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多 ...
- 基于C#的MongoDB数据库开发应用(4)--Redis的安装及使用
在前面介绍了三篇关于MongoDB数据库的开发使用文章,严格来讲这个不能归类于MongoDB数据库开发,不过Redis又有着和MongoDB数据库非常密切的关系,它们两者很接近,Redis主要是内存中 ...
- Linux下Redis的安装与配置
redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcached类似,但很大程度补偿了 memcached的不足,它支持存储的value类型相对更多,包括stri ...
- [nosql之redis]yum安装redis
1.首先对于这种nosql来说目前我用到的功能很少,所以感觉没有必要去优化他跟不需要去编译安装.今天来介绍下一个yum安装redis 步骤1:安装扩展yum库 [root@localhost ~]# ...
随机推荐
- js中变量提升和函数提升
变量提升和函数提升的总结 我们在学习JavaScript时,会遇到变量提升和函数提升的问题,为了理清这个问题,现做总结如下,希望对初学者能有所帮助 我们都知道 var 声明的变量有变量提升,而 let ...
- 破解网站码验证,Java实现,不调用任何平台api接口
package image.images; import java.io.File; import java.io.IOException; import java.io.InputStream; i ...
- 从事IT行业 vs 玩卡牌手游
我曾经玩过一款手游,它一直不停地推出新的更高品质的道具和人物,新出的东西比旧的东西拥有更强力的功能,要想保持领先就必须一直充钱出新东西才行.不管你以前充了十几万还是几十万,如果有半年不充,那就会被新区 ...
- Lateral Movement
简介 这次去宁夏护网,发现我有的朋友连最基本的横向渗透有些都不晓得,他们问我 我也表达不清楚...,就想着写篇文章总结下吧 (慢慢更..) 可以发我邮箱讨论:muxue@protonmail.com ...
- 嵌入式linux启动过程详解
启动第一步--加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它.这是因为BIOS中包含了CPU的相关信息.设备启动顺序信息.硬 ...
- Golang语言系列-07-函数
函数 函数的基本概念 package main import ( "fmt" ) // 函数 // 函数存在的意义:函数能够让代码结构更加清晰,更简洁,能够让代码复用 // 函数是 ...
- SpringBoot开发十七-事务管理
需求介绍 熟悉事务管理. 什么是事务 事务是由N步数据库操作序列组成的逻辑执行单元,这系列操作要么全执行,要么全放弃执行. 事务的特性(ACID) 原子性(Atomicity):事务是应用中不可再分的 ...
- Blind SQL injection:盲注详解
什么是盲注? 当应用程序易受SQL注入攻击,但其HTTP响应不包含相关SQL查询的结果或任何数据库错误的详细信息时,就会出现盲SQL注入. 对于盲目SQL注入漏洞,许多技术(如联合攻击)都是无效的,因 ...
- Linux提权手法整理
之前写过了windows提权小结,这下一篇水什么就有了嘛,于是有了这篇水文,整理一下Linux提权 前篇windows提权小结 ,链接送上 https://www.cnblogs.com/lcxblo ...
- CentOS7 安装Oracle12c数据库
在centos7上安装oracle是一个比较麻烦的事,在安装前需要做一些服务器的准备工作 我是在虚拟机里测试的所以需要下载centos7的镜像,可以去官网然后找到中国的镜像站用迅雷插件下载速度比较快这 ...