Spring集成redis(Spring Data Redis)

Spring-data-redis是spring你们族的一部分,提供了在srping应用中经过简单的配置访问redis服务,对reids底层开发包(Jedis, JRedis, and RJC)进行了高度封装,RedisTemplate提供了redis各类操做、异常处理及序列化,支持发布订阅,并对spring 3.1 cache进行了实现。 
官网:http://projects.spring.io/spring-data-redis/ 
项目地址:https://github.com/spring-projects/spring-data-redis 
1、spring-data-redis功能介绍 
jedis客户端在编程实施方面存在以下不足: 
1)connection管理缺少自动化,connection-pool的设计缺乏必要的容器支持。 
2)数据操做须要关注“序列化”/“反序列化”,由于jedis的客户端API接受的数据类型为string和byte,对结构化数据(json,xml,pojo等)操做须要额外的支持。 
3)事务操做纯粹为硬编码。 
4)pub/sub功能,缺少必要的设计模式支持,对于开发者而言须要关注的太多。 
spring-data-redis针对jedis提供了以下功能: 
1.链接池自动管理,提供了一个高度封装的“RedisTemplate”类 
2.针对jedis客户端中大量api进行了归类封装,将同一类型操做封装为operation接口 
ValueOperations:简单K-V操做 
SetOperations:set类型数据操做 
ZSetOperations:zset类型数据操做 
HashOperations:针对map类型的数据操做 
ListOperations:针对list类型的数据操做 
3.提供了对key的“bound”(绑定)便捷化操做API,能够经过bound封装指定的key,而后进行一系列的操做而无须“显式”的再次指定Key,即BoundKeyOperations: 
BoundValueOperations 
BoundSetOperations 
BoundListOperations 
BoundSetOperations 
BoundHashOperations 
4.将事务操做封装,有容器控制。 
5.针对数据的“序列化/反序列化”,提供了多种可选择策略(RedisSerializer) 
JdkSerializationRedisSerializer:POJO对象的存取场景,使用JDK自己序列化机制,将pojo类经过ObjectInputStream/ObjectOutputStream进行序列化操做,最终redis-server中将存储字节序列。是目前最经常使用的序列化策略。 git

相关文章
相关标签/搜索