spring-data-redis学习笔记:
1.连接池自动管理,提供了一个高度封装的“RedisTemplate”类
2.jedis客户端中大量api进行了归类封装,同类型操作封装为operation接口,没有指定的key, 可以操作多个key 进行存值取值。
ValueOperations:简单K-V操作
redisTemplate.opsForValue();
SetOperations:set类型数据操作
redisTemplate.opsForSet();
ZSetOperations:zset类型数据操作
redisTemplate.opsForZSet();
HashOperations:针对map类型的数据操作
redisTemplate.opsForHash();
ListOperations:针对list类型的数据操作
redisTemplate.opsForList();
3.提供了对key的“bound”(绑定)便捷化操作API,通过bound封装指定的key,然后进行一系列的操作而无须“显式”的再次指定Key,只能操作该key对应的value。
ValueOperations:简单K-V操作
redistempalate.boundValueOps
SetOperations:set类型数据操作
redistempalate.boundSetOps
ZSetOperations:zset类型数据操作
redistempalate.boundZSetOps
HashOperations:针对map类型的数据操作
redistempalate.boundHashOps
ListOperations:针对list类型的数据操作
redistempalate.boundListOps
4.将事务操作封装,有容器控制。
5.针对数据的“序列化/反序列化”,提供了多种可选择策略(RedisSerializer)
JdkSerializationRedisSerializer:
POJO对象的存取场景,使用JDK本身序列化机制,将pojo类通过ObjectInputStream/ObjectOutputStream进行序列化操作,最终redis-server中将存储字节序列。是目前最常用的序列化策略。
StringRedisSerializer:
Key或者value为字符串的场景,根据指定的charset对数据的字节序列编码成string,是“new String(bytes, charset)”和“string.getBytes(charset)”的直接封装。是最轻量级和高效的策略。
JacksonJsonRedisSerializer:
jackson-json工具提供了javabean与json之间的转换能力,可以将pojo实例序列化成json格式存储在redis中,也可以将json格式的数据转换成pojo实例。因为jackson工具在序列化和反序列化时,需要明确指定Class类型,因此此策略封装起来稍微复杂。【需要jackson-mapper-asl工具支持】
OxmSerializer:
提供了将javabean与xml之间的转换能力,目前可用的三方支持包括jaxb,apache-xmlbeans;redis存储的数据将是xml工具。不过使用此策略,编程将会有些难度,而且效率最低;不建议使用。【需要spring-oxm模块的支持】
相关连接:
https://blog.csdn.net/striveb/article/details/83745680