opsForSet
目录
pop(String k)、pop(String k,long l)
remove(String k,Object... objects)
move(String k,String v,String k1)
scan(String k,ScanOptions scanOptions)
randomMember(String k)、randomMembers(String k,long l)
add(String k,String... vs)
添加一个多值的set集合,如果有的话不会重读添加。
difference(String k,String k1)、difference(String k,Collection<String> collection)、differenceAndStore(String k,String k1,String k2)、differenceAndStore(String k,Collection<String> collection,String k1)
比较两个set集合中不同的元素,将k中不同的元素返回,返回set<String>。第二个方法比较set集合与多个集合的不同,将k中不同元素返回,返回set<String>。后两种方法会将值放到一个新的集合中去并且返回新的集合元素个数。
intersect(String k,String k1)、intersect(String k,Collection<String> collection)、intersectAndStore(String k,String k1,String k2)、intersectAndStore(String k,Collection<String> collection,String k1)
都是比较集合的交集,第二个方法可以比较多个,返回set<String>。后两种方法会将值放到一个新的集合中去并且返回新的集合元素个数。
pop(String k)、pop(String k,long l)
随机从集合中删除,方法二可以指定删除个数,返回一个List<String>表示删除的值。l为0的话就不会删除,如果删除后集合没有元素,那么集合就会被删除。
size(String k)
返回集合的大小。
remove(String k,Object... objects)
移除集合中输入的元素,返回移除的个数。
move(String k,String v,String k1)
把集合中的元素移动到别的集合中去。
scan(String k,ScanOptions scanOptions)
根据ScanOptions查看集合中的元素,ScanOptions.NONE为获取全部键对。返回一个Cursor<Object>。
eg:
Cursor<String> cursor = redisTemplate.opsForSet().scan("mySet", ScanOptions.NONE);
List<String> my = new ArrayList<>();
while (cursor.hasNext()) {
my.add(cursor.next());
}
union(String k,String k1)、union(String k,Collection<String> collection)、unionAndStore(String k,String k1,String k2)、unionAndStore(String k,Collection<String> collection,String k1)
此方法是求集合的并集,用法和上面的intersect、difference基本一致,返回一个Set<String>或者新集合的大小。
randomMember(String k)、randomMembers(String k,long l)
随机获取一个或多个元素,返回获取的元素String或者List<String>。
members(String k)
获取集合的所有元素。
isMember(String k,Object o)
o是否是集合中元素