一、Redis的相關(guān)命令詳解
1、Redis常用命令
| Reids命令 |
常用命令 |
| keys * |
獲取所有的key |
| select 0 |
選擇第一個庫 |
| move myString 1 |
將當(dāng)前的數(shù)據(jù)庫key移動到某個數(shù)據(jù)庫,目標(biāo)庫有,則不能移動 |
| flushdb |
清除指定庫 |
| randomkey |
從當(dāng)前數(shù)據(jù)庫中隨機返回 |
| type key |
類型 |
| del key1 |
刪除key |
| exists key |
判斷是否存在key |
| expire key |
10 過期 |
| pexpire key |
1000 毫秒 |
| persist key |
刪除過期時間 |
| ttl key |
查看還有多少秒過期,-1表示永不過期,-2表示已過期 |
2、String類型相關(guān)命令
| Reids命令 |
String類型相關(guān)命令 |
| set name |
設(shè)置值 |
| get name |
取值 |
| getrange name 0 -1 |
字符串分段 0 -1是全部 0 -2 ==n-1 |
| getset name |
new_cxx 設(shè)置值,返回舊值 |
| mset key1 key2 |
批量設(shè)置 |
| mget key1 key2 |
批量獲取 |
| setnx key value |
不存在就插入(not exists) |
| setrange key index value |
從index開始替換value |
| incr age |
遞增 |
| incrby age 10 |
遞增 |
| decr age |
遞減 |
| decrby age |
10 遞減 |
| incrbyfloat |
增減浮點數(shù) |
| append |
追加 |
| strlen |
長度 |
| object encoding key |
得到key 的類型 string里面有三種編碼 |
| int |
用于能夠副作用64位有符號整數(shù)表示的字符串 |
| embstr |
用于長度小于或等于44字節(jié) Redis3.x中是39字節(jié),這種類型的編碼在內(nèi)存使用時性能更好 |
| raw |
用于長度大于44字節(jié)的 |
3、list類型相關(guān)命令
lpush key #插入.
lpush mylist a b c #左插入.
rpush mylist x y z #右插入.
lrange mylist 0 -1 #取出數(shù)據(jù)集合 0 -1是取出所有 0 1取第第一個和第二個.
lpop mylist #彈出集合最后一個元素 彈出之后就沒有了.
rpop mylist #彈出第一個元素 彈出之后就沒有了.
llen mylist #長度.
lrem mylist count value #刪除 .
#count 的值可以是以下幾種:
#count > 0 : 從表頭開始向表尾搜索,移除與 VALUE 相等的元素,數(shù)量為 COUNT 。
#count < 0 : 從表尾開始向表頭搜索,移除與 VALUE 相等的元素,數(shù)量為 COUNT 的絕對值。
#count = 0 : 移除表中所有與 VALUE 相等的值。
lindex mylist 2 #指定索引的值.
lset mylist 2 n #索引設(shè)值.
ltrim mylist 0 4 #對一個列表進行修剪(trim),就是說,讓列表只保留指定區(qū)間內(nèi)的元素,不在指定區(qū)間之內(nèi)的元素都將被刪除。
linsert mylist before a #下標(biāo) 0 表示列表的第一個元素,以 1 表示列表的第二個元素,以此類推。
#命令用于在列表的元素前插入元素. 當(dāng)指定元素不存在于列表中時,不執(zhí)行任何操作.
#(當(dāng)列表不存在時,被視為空列表,不執(zhí)行任何操作。 如果 key 不是列表類型,返回一個錯誤)
linsert mylist after a #你也可以使用負(fù)數(shù)下標(biāo),以 -1 表示列表的最后一個元素,
#-2 表示列表的倒數(shù)第二個元素,以此類推命令用于在列表的元素后插入元素.
#當(dāng)指定元素不存在于列表中時,不執(zhí)行任何操作.(當(dāng)列表不存在時,被視為空列表,
#不執(zhí)行任何操作。 如果 key 不是列表類型,返回一個錯誤) |
rpoplpush list list2 #轉(zhuǎn)移列表的數(shù)據(jù),命令用于移除列表的最后一個元素,并將該元素添加到另一個列表并返回.
4、hash類型相關(guān)命令
hset key value-key value-value
hset myhash name cxx
#|--命令用于為哈希表中的字段賦值 。
#|--如果哈希表不存在,一個新的哈希表被創(chuàng)建并進行 HSET 操作。
#|--如果字段已經(jīng)存在于哈希表中,舊值將被覆蓋。
hget myhash name
hmset myhash name cxx age 25 note "i am notes"
hmget myhash name age note
hgetall myhash #獲取所有的
hexists myhash name #是否存在
hsetnx myhash score 100 #設(shè)置不存在的 如果存在,不做處理
hincrby myhash id 1 #遞增
hdel myhash name #刪除
hkeys myhash #只取key
hvals myhash #只取value
hlen myhash #長度
5、hash類型相關(guān)命令
| Reids命令 |
String類型相關(guān)命令 |
| sadd myset redis |
添加 |
| smembers myset |
數(shù)據(jù)集合 |
| srem myset set1 |
刪除 |
| sismember myset set1 |
判斷元素是否在集合中 |
| scard key_name |
個數(shù) |
| sdiff key1 key2 …… | sinter | sunion |
操作:集合間運算:差集 | 交集 | 并集 |
| srandmember key count |
隨機獲取集合中的元素 |
| spop |
從集合中彈出一個元素 |
6、hash類型相關(guān)命令
| Reids命令 |
String類型相關(guān)命令 |
| zadd zset 1 |
one |
| zadd zset 2 |
two |
| zadd zset 3 |
three |
| zincrby zset 1 one |
增長分?jǐn)?shù) |
| zscore zset two |
獲取分?jǐn)?shù) |
| zrange zset 0 -1 withscores |
范圍值 |
| zrangebyscore zset 10 25 withscores |
指定范圍的值 |
| zrangebyscore zset 10 25 withscores limit 1 2 |
分頁 |
| Zrevrangebyscore zset 10 25 withscores |
指定范圍的值 |
| zcard zset |
元素數(shù)量 |
| Zcount zset |
獲得指定分?jǐn)?shù)范圍內(nèi)的元素個數(shù) |
| Zrem zset one two |
刪除一個或多個元素 |
| Zremrangebyrank zset 0 1 |
按照排名范圍刪除元素 |
| Zremrangebyscore zset 0 1 |
按照分?jǐn)?shù)范圍刪除元素 |
| Zrank zset 0 -1 |
分?jǐn)?shù)最小的元素排名為0 |
| Zrevrank zset 0 -1 |
分?jǐn)?shù)最大的元素排名為0 |
| Zinterstore |
zunionstore rank:last_week 7 rank:20150323 rank:20150324 rank:20150325 weights 1 1 1 1 1 1 1 |
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。