RedisTemplate常用集合使用說明-boundSetOps(九)

Lean丶發表於2020-11-12

首先要定義一個BoundSetOperations

Java程式碼

收藏程式碼
1.BoundSetOperations boundSetOperations = redisTemplate.boundSetOps(“bso”);

1.add(V… values)和members()

批量新增值,獲取所有值

Java程式碼

收藏程式碼
1.//新增新值後檢視所有的值
2.boundSetOperations.add(“a”,“b”,“c”);
3.boundSetOperations.members().forEach(v -> System.out.println(“新增新值後檢視所有的值:” + v));

2.scan(ScanOptions options)

匹配獲取鍵值對,ScanOptions.NONE為獲取全部鍵值對;ScanOptions.scanOptions().match("c").build()匹配獲取鍵位map1的鍵值對,不能模糊匹配。

Java程式碼

收藏程式碼
1.Cursor cursor = boundSetOperations.scan(ScanOptions.NONE);
2.while (cursor.hasNext()){
3. System.out.println(“遍歷所有值:” + cursor.next());
4.}

3.randomMember()

 隨機獲取一個值

Java程式碼

收藏程式碼
1.System.out.println(“隨機獲取一個值:” + boundSetOperations.randomMember());

4.randomMembers(long count)

隨機獲取指定數量的值

Java程式碼

收藏程式碼
1.System.out.println(“隨機獲取指定數量的值:” + boundSetOperations.randomMembers(2));

5.distinctRandomMembers(long count)

獲取唯一的隨機數量值

Java程式碼

收藏程式碼
1.System.out.println(“獲取唯一的隨機數量值:” + boundSetOperations.distinctRandomMembers(2));

6.diff(Collection keys)

比較多個特定鍵中的不同值

Java程式碼

收藏程式碼
1.//這裡比較的也應該是特定的集合名稱,且名稱不能和已經在比較的set集合中存在,否則報錯
2.Set list = new HashSet<>();
3.list.add(“bso1”);
4.boundSetOperations.diff(list).forEach(v -> System.out.println(“比較給定集合中的set的不同元素:” + v));

7.diff(K key)

比較2個特定鍵中的不同值

Java程式碼

收藏程式碼
1.boundSetOperations.diff(“bso2”).forEach(v -> System.out.println(“比較給定set的不同元素:” + v));

8.diffAndStore(Collection keys, K destKey)和diffAndStore(K keys, K destKey)

比較鍵中的不同值並儲存

Java程式碼

收藏程式碼
1.//比較不同集合並儲存
2.boundSetOperations.diffAndStore(“bso2”,“bso3”);
3.redisTemplate.opsForSet().members(“bso3”).forEach(v -> System.out.println(“比較不同set並儲存:” + v));

9.intersect(Collection keys)和intersect(K key)

比較鍵中的相同值

Java程式碼

收藏程式碼
1.//比較給定集合中的相同值
2.boundSetOperations.intersect(“bso2”).forEach(v -> System.out.println(“比較給定集合中的相同值:” + v));
3.boundSetOperations.intersect(list).forEach(v -> System.out.println(“比較給定集合中的相同值:” + v));

10.intersectAndStore(Collection keys, K destKey)和intersectAndStore(K key, K destKey)

比較鍵中的相同值並儲存

Java程式碼

收藏程式碼
1.//比較給定集合中的相同值並儲存
2.boundSetOperations.intersectAndStore(“bso3”,“bso4”);
3.redisTemplate.opsForSet().members(“bso4”).forEach(v -> System.out.println(“比較給定set的相同元素:” + v));

11.union(Collection keys)和union(K key)

將特定鍵中的所有值合併

Java程式碼

收藏程式碼
1.//將給定集合中的所有值合併
2. boundSetOperations.union(“bso2”).forEach(v -> System.out.println(“將給定集合中的所有值合併:” + v));
3.boundSetOperations.union(list).forEach(v -> System.out.println(“將給定集合中的所有值合併:” + v));

12.unionAndStore(Collection keys, K destKey)和unionAndStore(K key, K destKey)

  將特定鍵中的所有值合併並儲存

Java程式碼

收藏程式碼
1.boundSetOperations.unionAndStore(“bso3”,“bso5”);
2.redisTemplate.opsForSet().members(“bso5”).forEach(v -> System.out.println(“將給定集合中的所有值合併:” + v));

13.move(K destKey, V value)

將value值轉移到特定鍵中

Java程式碼

收藏程式碼
1.//將集合中的value值移動到另外一個集合中
2.boolean moveSuc = boundSetOperations.move(“bso6”,“a”);
3.System.out.println(“將集合中的值移動到另外一個集合中是否成功:” + moveSuc);
4.redisTemplate.opsForSet().members(“bso6”).forEach(v -> System.out.println(“將集合中的值移動到另外一個集合中:” + v));
5.boundSetOperations.members().forEach(v -> System.out.println(“將集合中的值移動到另外一個集合中原集合剩餘的值:” + v));

14.pop()

 彈出集合中的值

Java程式碼

收藏程式碼

  1. //彈出集合中的值
    2.Object p = boundSetOperations.pop();
    3.System.out.println(“彈出集合中的值:” + p);
    4.boundSetOperations.members().forEach(v -> System.out.println(“彈出集合中的值原集合剩餘的值:” + v));

15.remove(Object… values)

 批量移除元素

Java程式碼

收藏程式碼
1.//移除特定元素
2.long removeCount = boundSetOperations.remove(“c”);
3.System.out.println(“移除特定元素個數:” + removeCount);
4.boundSetOperations.members().forEach(v -> System.out.println(“移除特定元素個數後原集合剩餘的值:” + v));

相關文章