連接工廠:spring data redis 2.0中提供了兩種redis客戶端實現
- LettuceConnectionFactory
- JedisConnectionFactory
區別:
Lettuce基於netty,是線程安全的,且性能較好。
Jedis在實現上是直接連接的redis serve,多線程環境下是非線程安全的。
配置:
默認為luttuce,如果想使用Jedis 除了在config中配置外,還需在POM中移除對Lettuce的依賴,並引入Jedis所需的包
其他的配置項如host、port等建議配置在yml或者properties文件中。
使用redis訪問模板
Spring data redis 提供了兩個訪問redis的模板
- RedisTemplate
- StringRedisTemplate
其中StringRedisTemplate為redisTemplate的擴展,只關心String類型的Key、value,適合於key於value均為String類型的鍵值對,而RedisTemplate可以持久化各種類型.
配置Template:
String boot默認已配置了上述兩種模板,源碼如下,使用時直接注入即可.
當然若不滿足於默認的配置,比如想設置不同的序列化方式,key、value的序列化方式等。可以在config文件中覆蓋掉即可:
如下,配置了key與value的序列化方式。
String data提供了多個序列化器,包括:
- GenericToStringSerializer:使用Spring轉換服務進行序列化
- JdkSerializationRedisSerializer:使用JDK序列化
- Jackson2JsonRedisSerializer:使用jackson2將對象序列化
- OxmSerializer:用於XML序列化
- StringRedisSerializer:序列化String類型的key與value
API與DEMO:
Demo:
操作簡單值(value):
操作List:
操作哈希(hash):
操作zset與set:
略(基本都是redis各個命令的實現)