redis 交集、并集、差集的具體使用
一、sinter 、sunion 、sdiff
redis 支持 Set集合的數(shù)據(jù)存儲(chǔ),其中有三個(gè)比較特殊的方法:
- sinter key [key …] 查看一個(gè)集合的全部成員,該集合是所有給定集合的交集。
- sunion key [key …] 查看一個(gè)集合的全部成員,該集合是所有給定集合的并集。
- sdiff key [key …] 查看所有給定 key 與第一個(gè) key 的差集
1.1、sinter 交集的示例
redis> SMEMBERS group_1 1) "LI LEI" 2) "TOM" 3) "JACK" redis> SMEMBERS group_2 1) "HAN MEIMEI" 2) "JACK" redis> SINTER group_1 group_2 # 取的是交集的數(shù)據(jù) 1) "JACK"
1.2、sunion 并集的示例
redis> SMEMBERS songs 1) "Billie Jean" redis> SMEMBERS my_songs 1) "Believe Me" redis> SUNION songs my_songs # 取的是集合的并集數(shù)據(jù)據(jù) 1) "Billie Jean" 2) "Believe Me"
1.3、sdiff 差集的示例
redis> SMEMBERS peter_movies 1) "bet man" 2) "start war" 3) "2012" redis> SMEMBERS joe_movies 1) "hi, lady" 2) "Fast Five" 3) "2012" redis> SDIFF peter_movies joe_movies # 取的是兩個(gè)集合的差集的數(shù)據(jù) 1) "bet man" 2) "start war"
二、sinterstore、sunionstore、sdiffstore
- sinterstore destination key [key …] 將 交集 數(shù)據(jù)存儲(chǔ)到某個(gè)對(duì)象中
- sunionstore destination key [key …] 將 并集 數(shù)據(jù)存儲(chǔ)到某個(gè)對(duì)象中
- sdiffstore destination key [key …] 將 差集 數(shù)據(jù)存儲(chǔ)到某個(gè)對(duì)象中
2.1、sinterstore 交集的示例
redis> SMEMBERS songs 1) "good bye joe" 2) "hello,peter" redis> SMEMBERS my_songs 1) "good bye joe" 2) "falling" redis> SINTERSTORE song_interset songs my_songs # 將交集的數(shù)據(jù)存儲(chǔ)到 song_interset 對(duì)象中 (integer) 1 redis> SMEMBERS song_interset # 查看 song_interset 對(duì)象中的 所有數(shù)據(jù) 1) "good bye joe"
2.2、sunionstore 并集的示例
redis> SMEMBERS NoSQL 1) "MongoDB" 2) "Redis" redis> SMEMBERS SQL 1) "sqlite" 2) "MySQL" redis> SUNIONSTORE db NoSQL SQL # 將并集的數(shù)據(jù)存儲(chǔ)到 db 對(duì)象中 (integer) 4 redis> SMEMBERS db # 查看 db 對(duì)象中的 所有數(shù)據(jù) 1) "MySQL" 2) "sqlite" 3) "MongoDB" 4) "Redis"
2.3、sdiffstore 差集的示例
redis> SMEMBERS joe_movies 1) "hi, lady" 2) "Fast Five" 3) "2012" redis> SMEMBERS peter_movies 1) "bet man" 2) "start war" 3) "2012" redis> SDIFFSTORE joe_diff_peter joe_movies peter_movies # 將差集的數(shù)據(jù)存儲(chǔ)到 joe_diff_peter 對(duì)象中 (integer) 2 redis> SMEMBERS joe_diff_peter # 查看 joe_diff_peter 對(duì)象中的 所有數(shù)據(jù) 1) "hi, lady" 2) "Fast Five"
到此這篇關(guān)于redis 交集、并集、差集的具體使用的文章就介紹到這了,更多相關(guān)redis 交集、并集、差集內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
spring?boot集成redis基礎(chǔ)入門實(shí)例詳解
redis在spring?boot項(xiàng)目開發(fā)中是常用的緩存套件,常見使用的是spring-boot-starter-data-redis,這篇文章主要介紹了spring?boot集成redis基礎(chǔ)入門,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-10-10手動(dòng)實(shí)現(xiàn)Redis的LRU緩存機(jī)制示例詳解
這篇文章主要介紹了手動(dòng)實(shí)現(xiàn)Redis的LRU緩存機(jī)制示例詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03如何保證Redis與數(shù)據(jù)庫的數(shù)據(jù)一致性
這篇文章主要介紹了如何保證Redis與數(shù)據(jù)庫的數(shù)據(jù)一致性,文中舉了兩個(gè)場(chǎng)景例子介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05利用Redis統(tǒng)計(jì)網(wǎng)站在線活躍用戶的方法
Redis支持對(duì)String類型的value進(jìn)行基于二進(jìn)制位的置位操作。通過將一個(gè)用戶的id對(duì)應(yīng)value上的一位,通過對(duì)活躍用戶對(duì)應(yīng)的位進(jìn)行置位,就能夠用一個(gè)value記錄所有活躍用戶的信息。下面這篇文章主要介紹了利用Redis統(tǒng)計(jì)網(wǎng)站在線活躍用戶的方法,需要的朋友可以參考。2017-01-01在Redis集群中使用pipeline批量插入的實(shí)現(xiàn)方法
這篇文章主要介紹了在Redis集群中使用pipeline批量插入的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05利用Redis進(jìn)行數(shù)據(jù)緩存的項(xiàng)目實(shí)踐
在實(shí)際的業(yè)務(wù)場(chǎng)景中,Redis 一般和其他數(shù)據(jù)庫搭配使用,用來減輕后端數(shù)據(jù)庫的壓力,本文就介紹了利用Redis進(jìn)行數(shù)據(jù)緩存的項(xiàng)目實(shí)踐,具有一定的參考價(jià)值,感興趣的可以了解一下2022-06-06使用Redis實(shí)現(xiàn)用戶積分排行榜的教程
這篇文章主要介紹了使用Redis實(shí)現(xiàn)用戶積分排行榜的教程,包括一個(gè)用PHP腳本進(jìn)行操作的例子,需要的朋友可以參考下2015-04-04