redis基本用法

来源:http://doc.redisfans.com/
redis内置5种数据结构,spring-data-redis 分别提供了针对5种不同数据结构进行操作的操作类,以下为相应类型的操作方式示例。
1)string类型(key:value)
BoundValueOperations operation = redisTemplate.boundValueOps(key);
operation.set(value); //将值 value 关联到 key 。
operation.set(value, 1000l, TimeUnit.MILLISECONDS); //将值 value 关联到 key,并设置key的过期时间为1000毫秒
operation.get(); //返回 key 所关联的值value。
2)Hash类型(key field:value),key理解为hash表的名字
BoundHashOperations operation = redisTemplate.boundHashOps(key);
operation.put(field, value); //将哈希表 key 中的域 field 的值设为 value
operation.get(field) //返回哈希表 key 中给定域 field 的值。
3)List 类型(key 理解为list的名字)
BoundListOperations operation=redisTemplate.boundListOps(key);
operation.leftPush(value) //将值 value 插入到列表 key 的表头
operation.rightPop() //移除并返回列表 key 的尾元素。
List list=operation.range(0, -1); //返回列表 key 中指定区间内的元素

4)Set 类型(key理解为集合的名字)
BoundSetOperations operation=redisTemplate.boundSetOps(key);
operation.add(Object...values); //将一个或多个元素加入到集合 key 当中
Set set=operation.members(); //返回集合中的所有成员
operation.remove(Object...values); //移除集合中一个或多个元素

5)ZSet 类型(有序集合)
BoundZSetOperations operation=redisTemplate.boundZSetOps(key);
operation.add(value, score); //将value元素及其对应的score 值加入到有序集 key 当中。
operation.incrementScore(value, delta); // 为有序集 key的成员 value 的 score 值加上增量 increment 。
operation.range(0, -1); // 返回有序集 key 中,指定区间内的成员,其中成员的位置按 score 值递增(从小到大)来排序。

其他对key的操作示例:
redisTemplate.hasKey(key) //判断key是否存在
redisTemplate.delete(key) //删除指定的key

spring-data-redis 本身提供了不同的序列化方式可供配置,包含Jdk序列化,Jackson等。
为方便排查问题,key 和hashKey的序列化方式统一规范为StringRedisSerializer
示例1:(key和hashkey采用StringRedisSerializer进行序列化,value和hashValue采用jdk序列化)








考虑到jdk序列化方式性能低下问题,在spring-data-redis原有的序列化支持基础上扩展出FastJson 和Kryo序列化两种方式,可根据需要自行选择。推荐使用Kryo

使用:1.引入jar包

com.weidai.redis
redis
1.0

2.使用Kryo进行序列化配置示例:









使用FastJson进行序列化配置示例:









你可能感兴趣的:(redis基本用法)