Redis(四)——RedisTemplate的常用语法
建立在<K,V>键值对上,K通常是字符串,V适用redis值类型
一、RedisTemplate对key的通用操作
1.Long delete(Collection<K> keys)
2.Boolean delete(K key)
3.byte[] dump(K key)//返回序列化后的值
4.Boolean expire(K key, long timeout, TimeUnit unit)//设置过期时间,TimeUnit表示时间单位,例如TimeUnit.DAYS、TimeUnit.HOURS、TimeUnit.MINUTES、TimeUnit.SECONDS、TimeUnit.MILLISECONDS分别表示天、时、分、秒、毫秒
5.Boolean expireAt(K key, Date date)//设置过期时间戳
6.Boolean hasKey(K key)//判断key是否存在,区别查询值返回空,设置控制也算是key存在
7.Set<K> keys(K pattern) //查找匹配得到的所有key
8.Boolean move(K key,int idx) //将key移到idx存在的redis库
9.Boolean persist(K key) //删除key的到期时间限制
10.K randomKey()//从密钥空间返回一个随机密钥
11.void rename(K oldKey, K newKey)//将key oldKey重命名为newKey
12.Boolean renameIfAbsent(K oldKey, K newKey)//仅当newKey不存在时,才将键oleName重命名为newKey,避免覆盖
13.DataType type(K key)//返回key的类型
14.opsForValue()、opsForHash()、opsForList()、opsForSet()、opsForZSet()分别表示返回对字符串SDS、hash、list、set、zset的操作
二、通过opsForValue()对字符串进行操作
1.Integer append(K key, String value)//为key附加一个value,亲测拼接后再输出玄学报错
2.Long decrement / increment(K key) //将作为key下存储为字符串值的整数值减/加1
3.Long decrement / increment(K key, long delta) //将由key存储为字符串值的整数值减/加delta
4.String get(K key, long start, long end)//获取下标在begin和end之间的key值的子字符串,取头短尾,算上引号
5.V get(Object key) //字符串SDS不显示引号
6.V getAndSet(K key, V value)
7.List<V> multiGet(Collection<K> keys) //获取多个keys
8.void set(K key, V value)
9.void set(K key, V value, long timeout, TimeUnit unit)
10.Long size(K key) //SDS算上引号
三、通过opsForHash()对hash进行操作
1.void put(H key, HK hashKey, HV value)
2.Boolean putIfAbsent(H key, HK hashKey, HV value) //避免覆盖
3.void putAll(H key, Map<? extends HK,? extends HV> map) //一次性设置多个hkey-hvalue,从map里获取
4.Set<HK> keys(H key) //获取所有hk
5.List<HV> values(H key) //获取所以hv
6.Long delete(H key, Object... hashKeys)
7.Map<HK,HV> entries(H key)
8.Long size(H key)
9.Boolean hasKey(H key, Object hashKey)
四、通过opsForList()对list进行操作
1.Long leftPushAll(K key, V... values | Collection<V> values ) //从队列左边压入若干个元素,这里写在第一个的元素自然被排到最右边
3.List<V> range(K key, long start, long end) //获取下标在[start,end]之间的元素,[0,-1]表示获取全部
4.Long leftPush(K key, V pivot, V value) //在元素pivot的左边插入元素value,pivot不存在则不插入
5.Long size(K key)
6.Long leftPop(K key)
7.Long set(K key, long index, V value) //index<=size
8.Long remove(K key, long count, Object value) //从左到右开始算起,删除count个value
五、通过opsForSet()对set进行操作
1.Long add(K key, V... values)
2.Set<V> intersect(K key, K otherKey) //交集
3.Long intersectAndStore(K key, K otherKey, K destKey) //返回交集并存储,difference和union为差集和并集
4.Boolean isMember(K key, Object o) //判断是否存在
5.List<V> pop(K key, long count) //随即返回count个并弹出
6.List<V> randomMembers(K key, long count) //随即返回count个
六、通过opsForZSet()对set进行操作
1.Boolean add(K key, V value, double score) //添加或换新
2.Long count(K key, double min, double max)
3.Set<V> rangeByScore(K key, double min, double max)
4.Set<V> range(K key, long start, long end)
5.Long remove(K key, Object... values) //删除指定若干个
6.Long removeRange(K key, long start, long end) //删除索引区间
7.Long removeRangeByScore(K key, double min, double max) //删除分数区间
8.Long rank(K key, Object o) //获取指定排名
9.Set<V> reverseRange(K key, long start, long end)
10.Set<V> reverseRangeByScore(K key, double min, double max)
11.Double score(K key, Object o)
参考&引用