目录
上手步骤:
①导入Spring Data Redis 的maven坐标
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
② 配置Redis数据源
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
③ 编写配置类,创建RedisTemplate对象
@Slf4j
@Component
public class RedisConfiguration {
@Bean
public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory){
log.info("开始创建redis模板对象。。。");
RedisTemplate redisTemplate = new RedisTemplate();
//设置redis的连接工厂对象
redisTemplate.setConnectionFactory(redisConnectionFactory);
//设置redis key的序列化器
redisTemplate.setKeySerializer(new StringRedisSerializer());
return redisTemplate;
}
}
④ 通过RedisTemplate对象操作Redis
一套常用命令:
在Redis Console输入命令
> localhost connected!
> set name jack
OK
> get name
jack
> get jack
null
> setex code 30 1234 //名为code的键,存在__秒,内容为____
OK
> setnx key1 wtl
1 //成功
> setnx key1 wt
0 //失败
Redis常用数据类型
Redis存储的是key-value结构的数据,key属于字符串类型,value有五种常见的数据类型
-
字符串String
-
哈希hash
-
列表list
-
集合set
-
有序集合sorted set/zset
常用命令
Redis常用命令
-
SET key value 设置指定key的值
-
GET key 获取指定key的值
-
SETEX key seconds value 设置指定key的值,并将key的过期时间改为seconds秒
-
SETNX key value 只有在key不存在时设置key的值
哈希常用命令
Redis hash是要给string类型的field和value的映射表,hash特别适合用于存储对象
H:hash
> hset 100 name xiaoming 1 > hset 100 age 2 1 > hget 100 name xiaoming > hkeys 100 name age
列表操作命令
Redis列表是简单的字符串列表,按照插入顺序排序,常用命令:
-
LPUSH key value1 [value2] 将一个或多个值插入到列表头补
-
LRANGE key start stop 获取列表指定范围内的元素
-
RPOP key 移除并获取列表最后一个元素
-
LLEN key 获取列表长度
> lpush mylist a b c 3 > lpush mylist d 4 > lrange mylist 0 -1 d c b a
集合操作命令
Redis set 是string类型的无序集合。集合成员是唯一的,集合中不能出现重复的数据,常用命令:
-
SADD key member1 [member2] 向集合添加一个或多个成员
-
SMEMBERS key 返回集合中的所有成员
-
SCARD key 获取集合的成员数
-
SINTER key1 [key2] 返回给定所有集合的交集
-
SUNION key1 [key2] 返回所有给定集合的并集
-
SREM key member1 [member2] 删除集合中一个或多个成员
//继上面代码 > rpop mylist a > rpop mylist b > llen mylist 2 > sadd set1 abcd 1 > sadd set1 a b c d //加入名为set1,内容为a b c d的四个元素 4 > sadd set1 a 0 > smembers set1 b a c abcd d > sinter set1 set2 //交集 a b > sunion set1 set2 //并集 a c x abcd b y d
有序集合操作命令
Redis有序集合是string类型元素的集合,且不允许有重复成员
-
SADD key member1[member2] 向集合添加一个或多个成员
-
SMEMBERS key 返回集合中的所有成员
-
SCARD key 获取集合的成员数
-
SINTER key1 [key2] 返回给定所有集合的交集
-
SUNION key1 [key2] 返回所有给定集合的并集
-
SREM key member1 [member2] 删除集合中一个或多个成员
> zadd zset1 10.0 a 10.5 b 2 > zadd zset1 10.2 c 1 > zrange zset1 0 -1 withscores //连着Score一起打印 a 10 c 10.199999999999999 b 10.5 > zincrby zset1 5.0 a 给a加5.0的 15 > zrange zset1 0 -1 withscores c 10.199999999999999 b 10.5 a 15
通用命令
Redis的通用命令是不分数据类型的,都可以使用的命令:
-
KEYS pattern 查找所有符合给定模式(pattern)
-
EXISTS key 检查给定key是否存在
-
TYPE key 返回key所储存的值的类型
-
DEL key key存在时删除key
> keys * //返回所有key zset1 name set1 set2 mylist > keys set* //返回所有set开头的key set1 set2 > exists name //存在名为[name]的key 1 //存在为1,不存在为0 > exists names 0 > type set1 //返回指定key的类型 set > type mylist //返回指定key的类型 list > del name //删除key 1 > del 100 key1 set2 //删除多个keys 3