一、什么是spring_data_redis?
Spring-data-redis是spring大家族的一部分,提供了在srping应用中通过简单的配置访问redis服务,对reids底层开发包(Jedis, JRedis, and RJC)进行了高度封装,RedisTemplate提供了redis各种操作、异常处理及序列化,支持发布订阅,并对spring 3.1 cache进行了实现。
二、关于其RedisTemplate和StringRedisTemplate的区别
两者之间的区别主要在于他们使用的序列化类。
1.RedisTemplate使用:JdkSerializationRedisSerializer
2.StringRedisTemplate使用: StringRedisSerializer
3.RedisTemplate使用的序列类在在操作数据的时候,比如说存入数据会将数据先序列化成十六进制的字节数组然后在存入到Redis数据库
三、关于其的一些相关配置
# Redis数据库索引(默认为0)
spring.redis.database=0
# Redis服务器地址
spring.redis.host-name=主机ip
# Redis服务器连接端口
spring.redis.port=6379
# Redis服务器连接密码(默认为空)
spring.redis.password=
# 连接池最大连接数(使用负值表示没有限制)
spring.redis.jedis.pool.max-active=100
# 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.jedis.pool.max-wait=10000
# 连接池中的最大空闲连接
spring.redis.jedis.pool.max-idle=8
# 连接池中的最小空闲连接
spring.redis.jedis.pool.min-idle=5
# 连接超时时间(毫秒)
spring.redis.timeout=1000000
## 最大连接数
spring.redis.pool.max-total=200
注:springboot2.0以下的版本应该去掉jedis
四、通过 RedisTemplate 处理对象
大多数用户可能会使用RedisTemplate它的相应软件包org.springframework.data.redis.core-由于其丰富的功能集,模板实际上是Redis模块的中心类。该模板提供了Redis交互的高级抽象。此外,该模板提供了操作视图,它提供丰富的,通用的接口,用于针对特定类型或某些键(通过KeyBound接口)进行操作,如下所述:
键类型操作:
接口 | 描述 |
---|---|
GeoOperations | Redis的地理空间操作,如GEOADD,GEORADIUS… |
HashOperations | Redis散列类型操作 |
HyperLogLogOperations | Redis的HyperLogLog操作,如PFADD,PFCOUNT… |
ListOperations | Redis列表操作 |
SetOperations | Redis集合操作 |
ValueOperations | Redis字符串操作 |
ZSetOperations | Redis有序集合操作 |
键绑定操作:
接口 | 描述 |
---|---|
BoundGeoOperations | Redis的地理空间操作 |
BoundHashOperations | Redis散列类型键绑定操作 |
BoundKeyOperations | Redis键绑定操作 |
BoundListOperations | Redis列表键绑定操作 |
BoundSetOperations | Redis集合键绑定操作 |
BoundValueOperations | Redis字符串键绑定操作 |
BoundZSetOperations | Redis有序集合键绑定操作 |
五.spring-data-redis大概框架图
六、简单的使用
@Resource
RedisTemplate<String, Object> redisTemplate;
@Test
void test() {
redisTemplate.opsForValue().set("name", "zhangsan");
}