cccreator / Java

Accumulation And Mark
0 stars 0 forks source link

Redis #19

Open cccreator opened 5 years ago

cccreator commented 5 years ago

Redis

Redis是一个基于键值对的开源内存数据存储,也可做数据缓存。

Spring对Redis的支持

配置

Spring 对Redis的支持是通过Spring Data Redis来实现的。根据不同的java客户端,SpringDataRedis提供了如下的ConnectionFactory:

  1. JedisConnectionFactory: 使用Jedis作为Redis客户端;

  2. JredisConnectionFactory: 使用Jredis作为Redis客户端;

  3. LettuceConnectionFactory: 使用Lettuce作为Redis客户端;

  4. SrpConnectionFactory:使用Spullara/redis-procol作为Redis客户端;

配置方式如下:

@Bean
public RedisConnectionFactory redisConnectionFactory(){
    return new JedisConnectionFactory();
}

RedisTemplate配置方式如下:

@Bean
public RedisTemplate<Object,Object> redisTemplate() throws UnknownHostException{
    RedisTemplate<Object,Object> template = new RedisTemplate<Object,Object>();
    template.setConnectionFactory(redisConnectionFactory);
    return template;
}

使用

Spring Data Redis为我们提供了RedisTemplate和StringRedisTemplate两个模板来进行数据操作,其中StringRedisTemplate只针对键值都是字符型的数据进行操作。RedisTemplate和StringRedis提供的主要数据访问方法如下:

定义Serializer

当我们的数据存储到Redis的时候,我们的key 和 value都是通过Spring提供的Serializer序列化到数据库的。RedisTemplate默认使用的是JdkSerializationRedisSerializer, StringRedisTemplate默认使用的是StringRedisSerializer。