91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

redis中5種數據類型的命令匯總

發布時間:2020-04-21 11:07:55 來源:億速云 閱讀:553 作者:小新 欄目:關系型數據庫

今天小編給大家分享的是redis中5種數據類型的命令匯總,相信很多人都不太了解,為了讓大家更加了解redis中5種數據類型的命令,所以給大家總結了以下內容,一起往下看吧。一定會有所收獲的哦。

redis中5種數據類型的命令匯總

redis是鍵值對的數據庫,有5中主要數據類型:

字符串類型(string),散列類型(hash),列表類型(list),集合類型(set),有序集合類型(zset)

幾個基本的命令:

函數說明
keys *獲得當前數據庫的所有鍵
?exists key [key ...]判斷鍵是否存在,返回個數,如果key有一樣的也是疊加數
del key [key ...]刪除鍵,返回刪除的個數
?type key獲取減值的數據類型(string,hash,list,set,zset)
flushall清空所有數據庫
config [get、set]redis配置

-inf 負無窮

+inf正無窮

一:字符串類型(string)

字符串類型是Redis的最基本類型,它可以存儲任何形式的字符串。其它的四種類型都是字符串類型的不同形式。

函數語法
最基本的命令:GET、SETGET key,SET key value   value如果有空格需要雙引號以示區分
整數遞增:INCRINCR key    默認值為0,所以首先執行命令得到 1 ,不是整型提示錯誤
增加指定的整數:INCRBYINCRBY key increment
整數遞減:DECRDECR key   默認值為0,所以首先執行命令得到 -1,不是整型提示錯誤
減少指定的整數:DECRBYDECRBY key increment
增加指定浮點數:INCRBYFLOATINCRBYFLOAT key increment  與INCR命令類似,只不過可以遞增一個雙精度浮點數
向尾部追加值:APPENDAPPEND key value   redis客戶端并不是輸出追加后的字符串,而是輸出字符串總長度
獲取字符串長度:STRLENSTRLEN key  如果鍵不存在返回0,注意如果有中文時,一個中文長度是3,redis是使用UTF-8編碼中文的
獲取多個鍵值:MGETMGET key [key ...]  例如:MGET key1 key2
設置多個鍵值:MSETMSET key value [key value ...]  例如:MSET key1 1 key2 "hello redis"
二進制指定位置值:GETBIT

GETBIT key offset   例如:GETBIT key1 2 ,key1為hello 返回 1,返回的值只有0或1,當key不存在或超出實際長度時為0

設置二進制位置值:SETBITSETBIT key offset value ,返回該位置的舊值
二進制是1的個數:BITCOUNTBITCOUNT key [start end] ,start 、end為開始和結束字節
位運算:BITOPBITOP operation destkey key [key ...]  ,operation支持AND、OR、XOR、NOT
偏移:BITPOSBITPOS key bit [start] [end]

二:散列類型(hash)

函數語法
設置單個:HSETHSET key field value,不存在時返回1,存在時返回0,沒有更新和插入之分
設置多個:HMSETHMSET key field value [field value ...]
讀取單個:HGETHGET key field,不存在是返回nil
讀取多個:HMGETHMGET key field [field ...]
讀取全部:HGETALLHGETALL key,返回時字段和字段值的列表
判斷字段是否存在:HEXISTSHEXISTS key field,存在返回1 ,不存在返回0
字段不存在時賦值:HSETNXHSETNX key field value,與hset命令不同,hsetnx是鍵不存在時設置值
增加數字:HINCRBYHINCRBY key field increment ,返回增加后的數,不是整數時會提示錯誤
刪除字段:HDELHDEL key field [field ...] ,返回被刪除字段的個數
只獲取字段名:HKEYSHKEYS key ,返回鍵的所有字段名
只獲取字段值:HVALSHVALS key  ,返回鍵的所有字段值
字段數量:HLENHLEN key ,返回字段總數

三:列表類型(list)

內部使用雙向鏈表實現,所以獲取越接近兩端的元素速度越快,但通過索引訪問時會比較慢

函數語法
添加左邊元素:LPUSHLPUSH key value [value ...]  ,返回添加后的列表元素的總個數
添加右邊元素:RPUSHRPUSH key value [value ...]  ,返回添加后的列表元素的總個數
移除左邊第一個元素:LPOPLPOP key  ,返回被移除的元素值
移除右邊第一個元素:RPOPRPOP key ,返回被移除的元素值
列表元素個數:LLENLLEN key, 不存在時返回0,redis是直接讀取現成的值,并不是統計個數
獲取列表片段:LRANGE

LRANGE key start stop,如果start比stop靠后時返回空列表,0 -1 返回整個列表正數時:start 開始索引值,stop結束索引值(索引從0開始)負數時:例如 lrange num -2 -1,-2表示最右邊第二個,-1表示最右邊第一個,

刪除指定值:LREM

LREM key count value,返回被刪除的個數

count>0,從左邊開始刪除前count個值為value的元素

count<0,從右邊開始刪除前|count|個值為value的元素

count=0,刪除所有值為value的元素

索引元素值:LINDEXLINDEX key index ,返回索引的元素值,-1表示從最右邊的第一位
設置元素值:LSETLSET key index value
保留列表片段:LTRIMLTRIM key start stop,start、top 參考lrange命令
一個列表轉移另一個列表:RPOPLPUSH

RPOPLPUSH source desctination ,從source列表轉移到desctination列表,該命令分兩步看,首先source列表RPOP右移除,再desctination列表LPUSH

四:集合類型(set)

集合類型值具有唯一性,常用操作是向集合添加、刪除、判斷某個值是否存在,集合內部是使用值為空的散列表實現的。

函數語法
添加元素:SADD

SADD key member [member ...] ,向一個集合添加一個或多個元素,因為集合的唯一性,所以添加相同值時會被忽略。返回成功添加元素的數量。

刪除元素:SREMSREM key member [member ...] 刪除集合中一個或多個元素,返回成功刪除的個數。
獲取全部元素:SMEMBERSSMEMBERS key ,返回集合全部元素
值是否存在:SISMEMBER
SISMEMBER key member ,如果存在返回1,不存在返回0
差運算:SDIFFSDIFF key [key ...] ,例如:集合A和集合B,差集表示A-B,在A里有的元素B里沒有,返回差集合;多個集合(A-B)-C
交運算:SINTERSINTER key [key ...],返回交集集合,每個集合都有的元素
并運算:SUNION SUNION key [key ...],返回并集集合,所有集合的元素
集合元素個數:SCARDSCARD key ,返回集合元素個數
集合運算后存儲結果

SDIFFSTROE destination key [key ...] ,差運算并存儲到destination新集合中SINTERSTROE destination key [key ...],交運算并存儲到destination新集合中SUNIONSTROE destination key [key ...],并運算并存儲到destination新集合中

隨機獲取元素:SRANDMEMGER

SRANDMEMBER key [count],根據count不同有不同結果,count大于元素總數時返回全部元素count>0 ,返回集合中count不重復的元素count<0,返回集合中count的絕對值個元素,但元素可能會重復

彈出元素:SPOPSPOP key [count] ,因為集合是無序的,所以spop會隨機彈出一個元素

五:有序集合類型 zset(sorted set:有序集合)

Redis zset 和 set 一樣也是string類型元素的集合,且不允許重復的成員。

不同的是每個元素都會關聯一個double類型的分數。

redis正是通過分數來為集合中的成員進行從小到大的排序。zset的成員是唯一的,但分數(score)卻可以重復。

函數語法
添加集合元素:ZADDZADD key [NX|XX] [CH] [INCR] score member [score member ...],不存在添加,存在更新。
獲取元素分數:ZSCOREZSCORE key member ,返回元素成員的score 分數
元素小到大:ZRANGE

ZRANGE key start top [WITHSCORES] ,參考LRANGE ,加上withscores 返回帶元素,即元素,分數當分數一樣時,按元素排序

元素大到小:ZREVRANGEZREVRANGE key start [WITHSCORES] ,與zrange區別在于zrevrange是從大到小排序
指定分數范圍元素:ZRANGEBYSCORE

ZRANGEBYSCORE key min max [WITHSCORE] [LIMIT offest count]返回從小到大的在min和max之間的元素,( 符號表示不包含,例如:80-100,(80 100,withscore返回帶分數limit offest count 向左偏移offest個元素,并獲取前count個元素

指定分數范圍元素:ZREVRANGESCORE

ZREVRANGEBYSCORE key max  min [WITHSCORE] [LIMIT offest count]與zrangebyscore類似,只不過該命令是從大到小排序的。

增加分數:ZINCRBYZINCRBY key increment member ,注意是增加分數,返回增加后的分數;如果成員不存在,則添加一個為0的成員。

以上就是redis中5種數據類型命令的詳細內容了,看完之后是否有所收獲呢?如果想了解更多相關內容,歡迎來億速云行業資訊!

向AI問一下細節

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

AI

惠水县| 鹿泉市| 宾川县| 五台县| 日照市| 桂阳县| 马关县| 盐池县| 易门县| 三门峡市| 万年县| 太仆寺旗| 临夏县| 星子县| 额敏县| 博罗县| 曲水县| 托克托县| 咸宁市| 旬阳县| 星子县| 济阳县| 黔西县| 左权县| 永春县| 英山县| 乐陵市| 九江县| 闸北区| 乌拉特中旗| 原平市| 精河县| 河池市| 星子县| 和平区| 横山县| 阳谷县| 乌鲁木齐市| 边坝县| 南汇区| 湘潭县|