亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

數據庫集合相關命令有哪些

發布時間:2021-11-09 15:14:41 來源:億速云 閱讀:115 作者:iii 欄目:關系型數據庫

本篇內容介紹了“數據庫集合相關命令有哪些”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

集合的性質: 唯一性,無序性,確定性
無序性,例:{1,2}=={2,1}
唯一性,每一個值都是唯一的

例:插入“python”,“golang”,“python",“c”,"java"5個值,但實際上,Redis返回的數字4,表示實際上只插入了4個值。這是因為有兩個“python”,集合自動過濾了第2個"python” 。

注: 在string和link的命令中,可以通過range 來訪問string中的某幾個字符或某幾個元素
但,因為集合的無序性,無法通過下標或范圍來訪問部分元素.

因此想看元素,要么隨機先一個,要么全選

sadd key  value1 value2

作用: 往集合key中增加元素

數據庫集合相關命令有哪些

sadd命令在遇到數據己經存在時,會返回“0”,如果數據不存在則把數據插入再返回1。所以,這條命令可以通過返回的數字來判斷數據是否存在

srem value1 value2

作用: 刪除集合中集為 value1 value2的元素
返回值: 忽略不存在的元素后,真正刪除掉的元素的個數

數據庫集合相關命令有哪些

spop key

作用: 返回并刪除集合中key中1個隨機元素
隨機--體現了無序性

數據庫集合相關命令有哪些
(spop會彈出/刪除key中的元素,可以用這個來抽獎,第一名抽出來,第二名,第三名...)

srandmember key

作用: 返回集合key中,隨機的1個元素.
數據庫集合相關命令有哪些
(和spop不同,不會彈出/刪除key中的元素)

sismember key  value

作用: 判斷value是否在key集合中
是返回1,否返回0

數據庫集合相關命令有哪些

smembers key

作用: 返回集中中所有的元素
注意:
smembers 命令不會刪除數據。但是如果集合里的數據量極大,就應該慎重使用“獲取所有數據",因為這樣會導致系統的I/o資源瞬間耗盡

scard key

作用: 返回集合中元素的個數
數據庫集合相關命令有哪些

smove source dest value

作用:把source中的value刪除,并添加到dest集合中

數據庫集合相關命令有哪些

sinter  key1 key2 key3

作用: 求出key1 key2 key3 三個集合中的交集,并返回
redis 127.0.0.1:6379> sadd s1 0 2 4 6
(integer) 4
redis 127.0.0.1:6379> sadd s2 1 2 3 4
(integer) 4
redis 127.0.0.1:6379> sadd s3 4 8 9 12
(integer) 4
redis 127.0.0.1:6379> sinter s1 s2 s3
1) "4"
redis 127.0.0.1:6379> sinter s3 s1 s2
1)"4"

sinterstore dest key1 key2 key3

作用: 求出key1 key2 key3 三個集合中的交集,并賦給dest
數據庫集合相關命令有哪些

suion key1 key2.. Keyn

作用: 求出key1 key2 keyn的并集,并返回
數據庫集合相關命令有哪些

sdiff key1 key2 key3

作用: 求出key1與key2 key3的差集
即key1-key2-key3

數據庫集合相關命令有哪些


集合的應用:
在工程中,Redis的集合一般有兩種用途:
( I )根據集合內數據不重復的特性實現去重并記錄信息。
(2 )利用多個集合計算交集、并集和差集。
假設,要做一個學生選課情況實時監控系統,則需要實時知道以下幾個數據:
( I )當前一共有多少學生至少選了一門課。
(2 )選了A課沒有選B 課的學生有多少。
(3 )既選了A課又選了B課的學生有多少。
( 4 ) A 、B兩門課至少選了一門的學生有多少。
使用集合可以輕易實現這樣的功能。每一門課作為一個集合,里面的值就是每一個學生的
學號,如圖5 -65 所示:

數據庫集合相關命令有哪些
用python實現:

import redis

client = redis.Redis(host="xx.xx.xx.xx’)
all_class = ['algorithm’,’computer’,’history’,’circuit_design’,’math']

def all_student():
students = client.sunion(*all_class)
return len(students)

def in_a_and_in_b(class_a,class_b):
students = client.sinter(class_a,class_b)
return len(students)

def in_a_not_in_b(class_a,class_b):
students = client.sdiff(class a , class b)
return len(students)

def in_a_or_in_b(class_a,class_b):
students= client.sunion(classa,classb)
return len(students)

def in_a_or_in_b(class_a,class_b):
students = client.sunion(class_a,class_b)
return len(students)

//選了至少一門課:
all_student()
//選了math沒選computer的:
in_a_not_in_b("math","computer")
//選了math也選了computer的學生:
in_a_and_in_b("math","computer")
//選了math或選了computer的學生:
in_a_or_in_b("math","computer")

“數據庫集合相關命令有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

拜城县| 西乌| 镇原县| 突泉县| 海兴县| 桂林市| 方正县| 阿荣旗| 靖边县| 洪洞县| 上高县| 贞丰县| 墨玉县| 淮安市| 宁国市| 安阳市| 吉安县| 义乌市| 新昌县| 土默特右旗| 塔河县| 古交市| 岳普湖县| 临潭县| 陆河县| 岳阳县| 南陵县| 黎川县| 二手房| 巫山县| 布尔津县| 泗洪县| 武胜县| 永吉县| 嘉祥县| 雷波县| 额尔古纳市| 洪湖市| 万源市| 宕昌县| 兴和县|