工作日记2017.08.19 spring-data-redis使用
来源:互联网 发布:sql中exists的用法 编辑:程序博客网 时间:2024/05/12 20:38
JedisConnectionFactory是连接工厂,通过配置单台服务器或连接池(pool)的方式获取redis服务器的连接
@Primary @Bean(name="redisTemplate") public RedisTemplate redisTemplate(JedisConnectionFactory factory) { RedisTemplate rt = new RedisTemplate(); FastJsonSerializer fastJsonSerializer = new FastJsonSerializer(); StringRedisSerializer stringRedisSerializer = new StringRedisSerializer(); rt.setConnectionFactory(factory); rt.setKeySerializer(stringRedisSerializer); rt.setValueSerializer(fastJsonSerializer); rt.setHashKeySerializer(fastJsonSerializer); rt.afterPropertiesSet(); return rt; }
RedisTemplate快速完成基本的crud操作
public class RedisTemplate<K, V> extends RedisAccessor implements RedisOperations<K, V>, BeanClassLoaderAware
StringRedisTemplate提供了最常用的String实现
public class StringRedisTemplate extends RedisTemplate<String, String>
注意:
不要使用泛型JAVA集合,如RedisTemplate<Object, Collection<?>>
因为,这样等于让JVM把Collection<?>
序列化为字节数组,已value的方式保存在redis中。这种方式,存在大量的序列化反序列化操作,并且每次操作集合,都要先获得一个完成的集合(即集合的所有元素)。
建议,使用redis提供的集合类型,如List,Set,ZSet(Sorted set)和Map。
private ListOperations<K, V> listOps; private SetOperations<K, V> setOps; private ZSetOperations<K, V> zSetOps; private GeoOperations<K, V> geoOps; private HyperLogLogOperations<K, V> hllOps;
opsForXXX 和 boundXXXOps 的区别
opsForXXX 获得一个operator,但是没有指定key,在一个连接(事务)内操作多个key和其对应的value。如:
public ValueOperations<K, V> opsForValue() { if (valueOps == null) { valueOps = new DefaultValueOperations<K, V>(this); } return valueOps; }
boundXXXOps 获得一个指定了操作对象(key)的operator,在一个连接内只能操作这个key的value。如:
public BoundValueOperations<K, V> boundValueOps(K key) { return new DefaultBoundValueOperations<K, V>(key, this); }
阅读全文
0 0
- 工作日记2017.08.19 spring-data-redis使用
- spring-data-redis 使用
- spring-data-redis 使用
- Spring Data Redis 使用
- spring data redis使用
- Spring+redis,spring-data-redis使用
- 工作日记2017.08.20 使用redis进行并发控制
- Spring Data Redis快速使用
- Spring-Data-Redis使用文档
- 使用spring-data-redis操作redis
- 使用spring-data-redis开发redis应用
- redis 与Spring Data Redis 使用
- Spring中spring-data-redis的使用
- redis:spring-data-redis
- redis与spring集成--不使用spring-data-redis
- 使用Spring Data +Redis实现缓存
- 使用Spring-Data-Redis存储对象(redisTemplate)
- Spring-data-redis配置及使用示例
- 【Android】从libavenhancements.so的调用分析高通封装
- 利用指针修改静态变量的值
- 乐曲创作
- js 时间 时分秒选择
- 数字电路中的逻辑电平问题
- 工作日记2017.08.19 spring-data-redis使用
- 20180818_继承与多态测试2
- codeforces 832A Sasha and Sticks
- 2017 Multi-University Training Contest
- 树莓派调用科大讯飞接口声音小的问题
- php中文字符字符串反转字符串
- Machine Learning in action --AdaBoost(已勘误)
- 算法学习笔记7-非递归方法写一个全排列
- Ubuntu常用指令(持续添加更新)