SetOperations中的方法
使用SetOperations可以进行Redis的set集合操作。
方法 | 返回值 | 描述 |
---|---|---|
1. add(K key, V… values) | Long | 向变量中批量添加值。 |
2.members(K key) | Set<V> | 获取变量中的值。 |
3.size(K key) | Long | 获取变量中值的长度。 |
4.randomMember(K key) | V | 随机获取变量中的元素。 |
5.randomMembers(K key, long count) | Set<V> | 随机获取变量中指定个数的元素。 |
6.isMember(K key, Object o) | Boolean | 检查给定的元素是否在变量中。 |
7.move(K key, V value, K destKey) | Boolean | 转移变量的元素值到目的变量。 |
8.pop(K key) | V | 随机弹出一个元素。 |
9.pop(K key, long count) | List<V> | 随机弹出多个元素 |
10.remove(K key, Object… values) | Long | 批量移除变量中的元素。 |
11.scan(K key, ScanOptions options) | Cursor<V> | 匹配获取键值对,ScanOptions.NONE为获取全部键值对;ScanOptions.scanOptions().match(“c”).build()匹配获取“c"键位的键值对,不能模糊匹配。 |
12.difference(K key, K otherKey) | Set<V> | 求2个key集合的差集 |
13.difference(K key, Collection otherKeys) | Set<V> | key集合的元素,与集合otherKeys里每个key的元素求差集 |
14.differenceAndStore(K key, K otherKey, K destKey) | Long | 保存key与otherKey的差集到destKey。 |
15.differenceAndStore(K key, Collection otherKeys, K destKey) | Long | 保存key与集合otherKeys里每个key的所有元素的差集到destKey。 |
16.distinctRandomMembers(K key, long count) | Set<V> | 获取多个去重的随机元素。 |
17.intersect(K key, K otherKey) | Set<V> | 获取2个set变量中的交集。 |
18.intersect(K key, Collection otherKeys) | Set<V> | 获取多个变量之间的交集。 |
19.intersectAndStore(K key, K otherKey, K destKey) | Long | 保存key与otherKey集合变量的交集到destKey。 |
20.intersectAndStore(K key, Collection otherKeys, K destKey) | Long | 保存key与集合otherKeys里所有key的元素的交集到destKey。 |
21.union(K key, K otherKey) | Set<V> | 获取2个变量的合集。 |
22.union(K key, Collection otherKeys) | Set<V> | 获取多个变量的合集。 |
23.unionAndStore(K key, K otherKey, K destKey) | Long | 获取2个变量合集后保存到最后一个参数上。 |
24.unionAndStore(K key, Collection otherKeys, K destKey) | Long | 获取多个变量的合集并保存到最后一个参数上。 |
1. add(K key, V… values)
向变量中批量添加值。
setVo.add("key","a","b","c");
- 1
2.members(K key)
获取变量中的值。
log.debug(Arrays.toString(setVo.members("key").toArray()));
- 1
3.size(K key)
获取变量中值的长度。
log.debug(String.valueOf(setVo.size("key")));
- 1
4.randomMember(K key)
随机获取变量中的元素。
log.debug(setVo.randomMember("key"));
- 1
5.randomMembers(K key, long count)
随机获取变量中指定个数的元素。
log.debug(String.valueOf(setVo.randomMembers("key",2)));
- 1
6.isMember(K key, Object o)
检查给定的元素是否在变量中。
log.debug("是否存在元素f:{}", setVo.isMember("key", "f"));
- 1
7.move(K key, V value, K destKey)
转移变量的元素值到目的变量。
setVo.move("key","c","key1");
- 1
8.pop(K key)
随机弹出一个元素。
log.debug("随机弹出的元素:{}", setVo.pop("key"));
- 1
9.pop(K key, long count)
随机弹出多个元素
log.debug("随机弹出2个元素:{}", setVo.pop("key",2));
- 1
10.remove(K key, Object… values)
批量移除变量中的元素。
setVo.remove("key","mongodb","mike");
- 1
11.scan(K key, ScanOptions options)
匹配获取键值对,ScanOptions.NONE为获取全部键值对;ScanOptions.scanOptions().match(“c”).build()匹配获取“c"键位的键值对,不能模糊匹配。
//Cursor<String> cursor = setVo.scan("key", ScanOptions.NONE);
Cursor<String> cursor = setVo.scan("key", ScanOptions.scanOptions().match("c").match("z").count(1).build());
while (cursor.hasNext()){
log.debug("全部元素:{}",cursor.next());
}
- 1
- 2
- 3
- 4
- 5
12.difference(K key, K otherKey)
求2个key集合的差集
log.debug("key与key1的差集:{}",setVo.difference("key","key1"));
- 1
13.difference(K key, Collection otherKeys)
key集合的元素,与集合otherKeys里每个key的元素求差集
setVo.add("key1","a","b");
setVo.add("key2","c","d");
List list = Arrays.asList("key1","key2");
log.debug("key与list[key1,key2]的差集:{}",setVo.difference("key",list));
- 1
- 2
- 3
- 4
14.differenceAndStore(K key, K otherKey, K destKey)
保存key与otherKey的差集到destKey。
log.debug("key与key2差集元素数量为:{}",setVo.differenceAndStore("key","key2","key3"));
- 1
15.differenceAndStore(K key, Collection otherKeys, K destKey)
保存key与集合otherKeys里每个key的所有元素的差集到destKey。
List list = Arrays.asList("key1", "key2");
log.debug("key与list集合里所有key的元素的差集元素数量为:{}", setVo.differenceAndStore("key", list, "key4"));
- 1
- 2
16.distinctRandomMembers(K key, long count)
获取多个去重的随机元素。
log.debug("获取3个去重的随机元素key:{}",setVo.distinctRandomMembers("key",3));
- 1
17.intersect(K key, K otherKey)
获取2个set变量中的交集。
log.debug("获取key与key4集合变量的交集:{}",setVo.intersect("key","key4"));
- 1
18.intersect(K key, Collection otherKeys)
获取多个变量之间的交集。
log.debug("获得多个key变量的交集:{}",setVo.intersect("key",Arrays.asList("key1", "key2")));
- 1
19.intersectAndStore(K key, K otherKey, K destKey)
保存key与otherKey集合变量的交集到destKey。
log.debug("key与key4集合变量的交集元素数量为:{}",setVo.intersectAndStore("key","key4","key5"));
- 1
20.intersectAndStore(K key, Collection otherKeys, K destKey)
保存key与集合otherKeys里所有key的元素的交集到destKey。
log.debug("key与多个key集合的交集元素数量为:{}",setVo.intersectAndStore("key", Arrays.asList("key1","key2"),"key6"));
- 1
21.union(K key, K otherKey)
获取2个变量的合集。
setVo.add("key7","j","k","l");
log.debug("2个key的合集:{}",setVo.union("key","key7"));
- 1
- 2
22.union(K key, Collection otherKeys)
获取多个变量的合集。
setVo.add("key8", "o", "p", "s");
log.debug("多个key的合集:{}", setVo.union("key", Arrays.asList("key7", "key8")));
- 1
- 2
23.unionAndStore(K key, K otherKey, K destKey)
获取2个变量合集后保存到最后一个参数上。
log.debug("2个key的合集的元素数量为:{}",setVo.unionAndStore("key", "key8","key10"));
- 1
- 2
24.unionAndStore(K key, Collection otherKeys, K destKey)
获取多个变量的合集并保存到最后一个参数上。
log.debug("多key的合集的元素数量为:{}",setVo.unionAndStore("key", Arrays.asList("key7","key8"),"key9"));