溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

redis常用數(shù)據(jù)類(lèi)型總結(jié)

發(fā)布時(shí)間:2020-07-15 22:02:13 來(lái)源:網(wǎng)絡(luò) 閱讀:576 作者:奇葩界張三 欄目:數(shù)據(jù)庫(kù)

redis常用數(shù)據(jù)類(lèi)型總結(jié)

     redis是以鍵值對(duì)key-value的形式來(lái)存儲(chǔ)數(shù)據(jù),而存儲(chǔ)的數(shù)據(jù)類(lèi)型有5種String,List,Set,Map,以及有序集合

這五種數(shù)據(jù)類(lèi)型操作的命令多有相似,經(jīng)?;煜?,閑暇之余,總結(jié)一番。

類(lèi)型一:String

1append key value  

如果key存在,則把value追加到原來(lái)的value后面

如果可以不存在,則以key為鍵,value為值建立新的。

2get key

返回key所關(guān)聯(lián)的字符串。如果key不存在則返回nil

3bitcount key

返回給定字符串中,被設(shè)置為1的比特位的數(shù)量

4decr key

key中存儲(chǔ)的數(shù)字值減一

5decrby key  num

key 中所存儲(chǔ)的值減去 num

6getbit key offset

對(duì)key所存儲(chǔ)的字符串值,獲取指定偏移量上的位

7getrange key  start end

返回key中存儲(chǔ)的start到end之間的字符串

8getset key value

將給定key的值設(shè)為value,并返回key原來(lái)的值

9incr 將key中存儲(chǔ)的數(shù)字值加一

10incrby key  num

將key中所存儲(chǔ)的值加num

11mget key1 key2 ...

返回所有給定key的值

12mset key1 value1  key2 value2  ...

同時(shí)設(shè)置多個(gè)鍵值對(duì)

13setex key seconds value

設(shè)置key value 鍵值對(duì),并且設(shè)置key的生存時(shí)間

14strlen key

返回key所存儲(chǔ)值得長(zhǎng)度

類(lèi)型二:HASH(哈希)又稱(chēng)散列

1hset key-name key  value

在名為key-name 的hash表中設(shè)置一堆鍵值對(duì) key  value

2hsetnx key-name key value

在名為key-name 的hash表中設(shè)置一堆鍵值對(duì) key  value,當(dāng)且僅當(dāng)key不存在。

3hmset key-name key1 value1  key2 value2 ...

為名字叫key-name的散列設(shè)置多個(gè)鍵值對(duì)。

4hget  key-name  key

獲得key-name散列表中名字為key的值

5hmget key-name key1 key2  ...

獲得名字為key-name的散列表中鍵為key1 key2 ...的值

6hgetall key-name

獲得散列包含的所有鍵值對(duì)

7hvals key -name 

獲取散列包含的所有值

8hkeys key -name 

獲取散列包含的所有鍵

9hlen key-name 

返回散列包含的鍵值對(duì)數(shù)量

10hdel key-name key1 key2

刪除散列里一個(gè)或多個(gè)值

11hincrby key-name key increment 

將名字為key-name的散列中,將鍵key所存儲(chǔ)的值加上整數(shù)increment

類(lèi)型三:列表(List)

1lpop key-name

移除并返回列表key的頭元素(最左端的元素)

2rpop key-name

移除并返回列表key的尾元素(最右端的元素)

3lpush key-name value1 value2

將一個(gè)或多個(gè)值推入列表的表頭(最左端)

4rpush key-name value1 value2 ...

將一個(gè)或多個(gè)值推入列表的尾部(最右端)

5lpushx key-name value

將值value插入列表key-name的表頭,當(dāng)且僅當(dāng)key存在且是列表

6rpushx key-name value

將值value插入列表key-name的尾部,當(dāng)且僅當(dāng)key存在且是列表

7ltrim key start stop  

對(duì)一個(gè)列表進(jìn)行修剪,保留指定區(qū)間內(nèi)的元素,不再指定區(qū)間的元素將被刪掉。

8lset key-name  index value

將key-name列表下表為index的值設(shè)為value

9lrange key-name start stop

返回列表key-name中指定區(qū)間內(nèi)的元素。

10llen key-name

返回列表key-name的長(zhǎng)度

類(lèi)型四:集合(SET)

1sadd key-name item1 item2  ...

將一個(gè)或多個(gè)元素添加到集合key-name中

2srem key-name item1 item2

從集合key-name 里移除一個(gè)或多個(gè)元素

3scard key-name

返回集合包含的所有元素的數(shù)量

4sismember key-name  item

判斷item元素是否是集合key-name的成員

5smembers key-name

返回key-name中的所有成員

6sdiff key-name1 key-name2 ..

返回第一個(gè)集合和其他集合的差集運(yùn)算后的元素

7sinter key-name1 key-name2

返回那些同時(shí)存在于所有集合中的元素,交集運(yùn)算

8sunion key-name1 key-name2 ...

返回至少存在于一個(gè)集合中的元素,并集運(yùn)算

9smove key-name1 key-name2 item

將item元素從key-name1集合移動(dòng)到key-name2集合

10spop key-name

移除并返回key-name集合中隨機(jī)一個(gè)元素

類(lèi)型五:有序集合

1zadd key-name score1 member1 [score2 member2]

將一個(gè)或多個(gè)member元素及其分值score添加到key-name集合中

2zrem key-name member1 member2 ...

移除有序集和key-name中 一個(gè)或多個(gè)成員

3zcard key-name

返回有序集合的元素?cái)?shù)量

4zrank key-name member

返回元素member在有序集合里的排名

5zcount key-name min max

返回分值介于min max之間的成員數(shù)量

6zscore key-name  member

返回member成員在key-name有序集合中的分值

7zrange key-name start stop

返回有序集合中排名介于start stop之間的元素。

8zincrby key-name increment member

在有序集合key-name中為member成員加上增量increment。




如果有不同見(jiàn)解歡迎大家相互討論共同進(jìn)步@_@


參考有josiah L .carlson  redis in action


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI