Open cccreator opened 5 years ago
Redis是一个基于键值对的开源内存数据存储,也可做数据缓存。
Spring 对Redis的支持是通过Spring Data Redis来实现的。根据不同的java客户端,SpringDataRedis提供了如下的ConnectionFactory:
JedisConnectionFactory: 使用Jedis作为Redis客户端;
JredisConnectionFactory: 使用Jredis作为Redis客户端;
LettuceConnectionFactory: 使用Lettuce作为Redis客户端;
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提供的主要数据访问方法如下:
opsForValue(): 操作只有简单属性的数据;
opsForList(): 操作含有list的数据;
opsForSet(): 操作含有Set的数据;
opsForZSet(): 操作含有ZSet(有序的set)的数据;
opsForHash(): 操作含有hash的数据;
当我们的数据存储到Redis的时候,我们的key 和 value都是通过Spring提供的Serializer序列化到数据库的。RedisTemplate默认使用的是JdkSerializationRedisSerializer, StringRedisTemplate默认使用的是StringRedisSerializer。
Redis
Redis是一个基于键值对的开源内存数据存储,也可做数据缓存。
Spring对Redis的支持
配置
Spring 对Redis的支持是通过Spring Data Redis来实现的。根据不同的java客户端,SpringDataRedis提供了如下的ConnectionFactory:
JedisConnectionFactory: 使用Jedis作为Redis客户端;
JredisConnectionFactory: 使用Jredis作为Redis客户端;
LettuceConnectionFactory: 使用Lettuce作为Redis客户端;
SrpConnectionFactory:使用Spullara/redis-procol作为Redis客户端;
配置方式如下:
RedisTemplate配置方式如下:
使用
Spring Data Redis为我们提供了RedisTemplate和StringRedisTemplate两个模板来进行数据操作,其中StringRedisTemplate只针对键值都是字符型的数据进行操作。RedisTemplate和StringRedis提供的主要数据访问方法如下:
opsForValue(): 操作只有简单属性的数据;
opsForList(): 操作含有list的数据;
opsForSet(): 操作含有Set的数据;
opsForZSet(): 操作含有ZSet(有序的set)的数据;
opsForHash(): 操作含有hash的数据;
定义Serializer
当我们的数据存储到Redis的时候,我们的key 和 value都是通过Spring提供的Serializer序列化到数据库的。RedisTemplate默认使用的是JdkSerializationRedisSerializer, StringRedisTemplate默认使用的是StringRedisSerializer。