关于Redis配置和Spring Data Redis的使用

本文详细介绍了如何在SpringBoot项目中使用SpringDataRedis,包括导入Maven坐标、配置Redis数据源、创建RedisTemplate对象以及通过它进行各种操作,如设置、获取、哈希、列表、集合和有序集合的命令示例。
摘要由CSDN通过智能技术生成

目录

①导入Spring Data Redis 的maven坐标

② 配置Redis数据源

③ 编写配置类,创建RedisTemplate对象

④ 通过RedisTemplate对象操作Redis


上手步骤:

①导入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
​

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值