redistemplate get,redistemplate list存取
="brush:java;">opsForValue.set(key, value); //设置当前的key以及value值opsForValue.set(key, value, offset);//用 value 参数覆写给定 key 所储存的字符串值,从偏移量 offset 开始opsForValue.set(key, value, timeout, unit); //设置当前的key以及value值并且设置过期时间opsForValue.setBit(key, offset, value); //将二进制第offset位值变为valueopsForValue.setIfAbsent(key, value);//重新设置key对应的值,如果存在返回false,否则返回trueopsForValue.get(key, start, end); //返回key中字符串的子字符opsForValue.getAndSet(key, value); //将旧的key设置为value,并且返回旧的keyopsForValue.multiGet(keys); //批量获取值opsForValue.size(key); //获取字符串的长度opsForValue.append(key, value); //在原有的值基础上新增字符串到末尾opsForValue.increment(key,double increment);//以增量的方式将double值存储在变量中opsForValue.increment(key,long increment); //通过increment(K key, long delta)方法以增量方式存储long值(正值则自增,负值则自减) Map valueMap = new HashMap(); valueMap.put("valueMap1","map1"); valueMap.put("valueMap2","map2"); valueMap.put("valueMap3","map3"); opsForValue.multiSetIfAbsent(valueMap); //如果对应的map集合名称不存在,则添加否则不做修改opsForValue.multiSet(valueMap); //设置map集合到redis3.Hash类型
HashOperations opsForHash = redisTemplate.opsForHash();
opsForHash.get(key, field); //获取变量中的指定map键是否有值,如果存在该map键则获取值,没有则返回nullopsForHash.entries(key); //获取变量中的键值对opsForHash.put(key, hashKey, value); //新增hashMap值opsForHash.putAll(key, maps); //以map集合的形式添加键值对opsForHash.putIfAbsent(key, hashKey, value); //仅当hashKey不存在时才设置opsForHash.delete(key, fields); //删除一个或者多个hash表字段opsForHash.hasKey(key, field); //查看hash表中指定字段是否存在opsForHash.increment(key, field, long increment); //给哈希表key中的指定字段的整数值加上增量incrementopsForHash.increment(key, field, double increment); //给哈希表key中的指定字段的整数值加上增量incrementopsForHash.keys(key); //获取所有hash表中字段opsForHash.values(key); //获取hash表中存在的所有的值opsForHash.scan(key, options); //匹配获取键值对,ScanOptions.NONE为获取全部键对
4.List类型
ListOperations opsForList = redisTemplate.opsForList();
opsForList.index(key, index); //通过索引获取列表中的元素opsForList.range(key, start, end); //获取列表指定范围内的元素(start开始位置, 0是开始位置,end 结束位置, -1返回所有)opsForList.leftPush(key, value); //存储在list的头部,即添加一个就把它放在最前面的索引处opsForList.leftPush(key, pivot, value); //如果pivot处值存在则在pivot前面添加opsForList.leftPushAll(key, value); //把多个值存入List中(value可以是多个值,也可以是一个Collection value)opsForList.leftPushIfPresent(key, value); //List存在的时候再加入opsForList.rightPush(key, value); //按照先进先出的顺序来添加(value可以是多个值,或者是Collection var2)opsForList.rightPushAll(key, value); //在pivot元素的右边添加值opsForList.set(key, index, value); //设置指定索引处元素的值opsForList.trim(key, start, end); //将List列表进行剪裁opsForList.size(key); //获取当前key的List列表长度 //移除并获取列表中第一个元素(如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止)opsForList.leftPop(key); opsForList.leftPop(key, timeout, unit); //移除并获取列表最后一个元素opsForList.rightPop(key);opsForList.rightPop(key, timeout, unit); //从一个队列的右边弹出一个元素并将这个元素放入另一个指定队列的最左边opsForList.rightPopAndLeftPush(sourceKey, destinationKey); opsForList.rightPopAndLeftPush(sourceKey, destinationKey, timeout, unit); //删除集合中值等于value的元素(index=0, 删除所有值等于value的元素; index>0, 从头部开始删除第一个值等于value的元素; index<0, 从尾部开始删除第一个值等于value的元素)opsForList.remove(key, index, value);
5.Set类型
SetOperations opsForSet = redisTemplate.opsForSet();
opsForSet.add(key, values); //添加元素opsForSet.remove(key, values); //移除元素(单个值、多个值)opsForSet.pop(key); //删除并且返回一个随机的元素opsForSet.size(key); //获取集合的大小opsForSet.isMember(key, value); //判断集合是否包含valueopsForSet.intersect(key, otherKey); //获取两个集合的交集(key对应的无序集合与otherKey对应的无序集合求交集)opsForSet.intersect(key, otherKeys);//获取多个集合的交集(Collection var2)opsForSet.intersectAndStore(key, otherKey, destKey); //key集合与otherKey集合的交集存储到destKey集合中(其中otherKey可以为单个值或者集合)opsForSet.intersectAndStore(key, otherKeys, destKey); //key集合与多个集合的交集存储到destKey无序集合中opsForSet.union(key, otherKeys); //获取两个或者多个集合的并集(otherKeys可以为单个值或者是集合)opsForSet.unionAndStore(key, otherKey, destKey); //key集合与otherKey集合的并集存储到destKey中(otherKeys可以为单个值或者是集合)opsForSet.difference(key, otherKeys); //获取两个或者多个集合的差集(otherKeys可以为单个值或者是集合)opsForSet.differenceAndStore(key, otherKey, destKey); //差集存储到destKey中(otherKeys可以为单个值或者集合)opsForSet.randomMember(key); //随机获取集合中的一个元素opsForSet.members(key); //获取集合中的所有元素opsForSet.randomMembers(key, count); //随机获取集合中count个元素opsForSet.distinctRandomMembers(key, count); //获取多个key无序集合中的元素(去重),count表示个数opsForSet.scan(key, options); //遍历set类似于Interator(ScanOptions.NONE为显示所有的)
6.zSet类型
ZSetOperations提供了一系列方法对有序集合进行操作
ZSetOperations opsForZSet = redisTemplate.opsForZSet();
opsForZSet.add(key, value, score); //添加元素(有序集合是按照元素的score值由小到大进行排列)opsForZSet.remove(key, values); //删除对应的value,value可以为多个值opsForZSet.incrementScore(key, value, delta); //增加元素的score值,并返回增加后的值opsForZSet.rank(key, value); //返回元素在集合的排名,有序集合是按照元素的score值由小到大排列opsForZSet.reverseRank(key, value); //返回元素在集合的排名,按元素的score值由大到小排列opsForZSet.reverseRangeWithScores(key, start,end); //获取集合中给定区间的元素(start 开始位置,end 结束位置, -1查询所有)opsForZSet.reverseRangeByScore(key, min, max); //按照Score值查询集合中的元素,结果从小到大排序opsForZSet.reverseRangeByScoreWithScores(key, min, max); //返回值为:Set<ZSetOperations.TypedTuple<V>>opsForZSet.count(key, min, max); //根据score值获取集合元素数量opsForZSet.size(key); //获取集合的大小opsForZSet.zCard(key); //获取集合的大小opsForZSet.score(key, value); //获取集合中key、value元素对应的score值opsForZSet.removeRange(key, start, end); //移除指定索引位置处的成员opsForZSet.removeRangeByScore(key, min, max); //移除指定score范围的集合成员opsForZSet.unionAndStore(key, otherKey, destKey);//获取key和otherKey的并集并存储在destKey中(其中otherKeys可以为单个字符串或者字符串集合)opsForZSet.intersectAndStore(key, otherKey, destKey); //获取key和otherKey的交集并存储在destKey中(其中otherKeys可以为单个字符串或者字符串集合)
以上为个人经验,希望能给大家一个参考,也希望大家多多支持盛行IT。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。