Redis是一个基于键值对的开源内存数据存储。
-
Spring的支持
1.配置:
Spring对Redis的支持也是通过Spring Data Redis 来实现的,Spring Data JPA为我们提供了连接相关的ConnectionFactory和数据操作相关的RedisTemplate。根据Redis的不同的Java客户端,Spring Data Redis提供了如下的ConnectonFactory:
JedisConnectionFactory:使用jedis作为Redis客户端 JredisConnectionFactory:使用Jredis作为Redis客户端 LettuceConnectionFactory:使用Lettuce作为Redis客户端 SrpConnectionFactory:使用Spullara/redis-protocol作为Redis客户端
2.使用
Spring Data Redis为我们提供了RedisTemplate和StringRedisTemplate两个模板来进行数据操作,其中StringRedisTemplate只针对键值都是字符串的数据进行操作。
RedisTemplate和StringRedisTemplate提供的主要数据访问方法如下:
方法 说明 opsForValue() 操作只有简单属性的数据 opsForList 操作含有list的数据 opsForSet 操作含有set的数据 opsForZSet 操作含有Zset的数据 opsForHash 操作含有hash的数据 更多操作关于Spring Data Redis的操作,请查看Spring Data Redis官方文档。
3.定义Serializer
当我们的数据存储带Redis的时候,我们的键(key)和值(value)都是通过Spring 提供的Serializer序列化到数据库的。RedisTemplate默认使用的是JdkSerializationRedisSerializer,StringRedisTemplate默认使用的是StringRdiesSerializer.Spring Data JPA为我们提供了下面的Serializer:
1.GenericToStringSerializer
2.JacksonRedisSerializer
3.Jackson2JsonRedisSerializer
4.JdkSerializationRedisSerializer
5.OxmSerializer
6.StringRdiesSerializer