您好,登錄后才能下訂單哦!
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
免責(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)容。