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