一、Redis的相關(guān)命令詳解
1放刨、Redis常用命令
Reids命令 |
常用命令 |
keys * |
獲取所有的key |
select 0 |
選擇第一個(gè)庫(kù) |
move myString 1 |
將當(dāng)前的數(shù)據(jù)庫(kù)key移動(dòng)到某個(gè)數(shù)據(jù)庫(kù),目標(biāo)庫(kù)有,則不能移動(dòng) |
flushdb |
清除指定庫(kù) |
randomkey |
從當(dāng)前數(shù)據(jù)庫(kù)中隨機(jī)返回 |
type key |
類型 |
del key1 |
刪除key |
exists key |
判斷是否存在key |
expire key |
10 過期 |
pexpire key |
1000 毫秒 |
persist key |
刪除過期時(shí)間 |
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 |
增減浮點(diǎn)數(shù) |
append |
追加 |
strlen |
長(zhǎng)度 |
object encoding key |
得到key 的類型 string里面有三種編碼 |
int |
用于能夠副作用64位有符號(hào)整數(shù)表示的字符串 |
embstr |
用于長(zhǎng)度小于或等于44字節(jié) Redis3.x中是39字節(jié)指厌,這種類型的編碼在內(nèi)存使用時(shí)性能更好 |
raw |
用于長(zhǎng)度大于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取第第一個(gè)和第二個(gè).
lpop mylist #彈出集合最后一個(gè)元素 彈出之后就沒有了.
rpop mylist #彈出第一個(gè)元素 彈出之后就沒有了.
llen mylist #長(zhǎng)度.
lrem mylist count value #刪除 .
#count 的值可以是以下幾種:
#count > 0 : 從表頭開始向表尾搜索横朋,移除與 VALUE 相等的元素仑乌,數(shù)量為 COUNT 。
#count < 0 : 從表尾開始向表頭搜索琴锭,移除與 VALUE 相等的元素晰甚,數(shù)量為 COUNT 的絕對(duì)值。
#count = 0 : 移除表中所有與 VALUE 相等的值决帖。
lindex mylist 2 #指定索引的值.
lset mylist 2 n #索引設(shè)值.
ltrim mylist 0 4 #對(duì)一個(gè)列表進(jìn)行修剪(trim)厕九,就是說,讓列表只保留指定區(qū)間內(nèi)的元素地回,不在指定區(qū)間之內(nèi)的元素都將被刪除扁远。
linsert mylist before a #下標(biāo) 0 表示列表的第一個(gè)元素,以 1 表示列表的第二個(gè)元素刻像,以此類推畅买。
#命令用于在列表的元素前插入元素. 當(dāng)指定元素不存在于列表中時(shí),不執(zhí)行任何操作.
#(當(dāng)列表不存在時(shí),被視為空列表细睡,不執(zhí)行任何操作谷羞。 如果 key 不是列表類型,返回一個(gè)錯(cuò)誤)
linsert mylist after a #你也可以使用負(fù)數(shù)下標(biāo)溜徙,以 -1 表示列表的最后一個(gè)元素湃缎,
#-2 表示列表的倒數(shù)第二個(gè)元素,以此類推命令用于在列表的元素后插入元素.
#當(dāng)指定元素不存在于列表中時(shí),不執(zhí)行任何操作.(當(dāng)列表不存在時(shí)蠢壹,被視為空列表嗓违,
#不執(zhí)行任何操作。 如果 key 不是列表類型图贸,返回一個(gè)錯(cuò)誤) |
rpoplpush list list2 #轉(zhuǎn)移列表的數(shù)據(jù),命令用于移除列表的最后一個(gè)元素蹂季,并將該元素添加到另一個(gè)列表并返回.
4冕广、hash類型相關(guān)命令
hset key value-key value-value
hset myhash name cxx
#|--命令用于為哈希表中的字段賦值 。
#|--如果哈希表不存在偿洁,一個(gè)新的哈希表被創(chuàng)建并進(jìn)行 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 #長(zhǎng)度
5、hash類型相關(guān)命令
Reids命令 |
String類型相關(guān)命令 |
sadd myset redis |
添加 |
smembers myset |
數(shù)據(jù)集合 |
srem myset set1 |
刪除 |
sismember myset set1 |
判斷元素是否在集合中 |
scard key_name |
個(gè)數(shù) |
sdiff key1 key2 …… | sinter | sunion |
操作:集合間運(yùn)算:差集 | 交集 | 并集 |
srandmember key count |
隨機(jī)獲取集合中的元素 |
spop |
從集合中彈出一個(gè)元素 |
6何吝、hash類型相關(guān)命令
Reids命令 |
String類型相關(guān)命令 |
zadd zset 1 |
one |
zadd zset 2 |
two |
zadd zset 3 |
three |
zincrby zset 1 one |
增長(zhǎng)分?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 |
元素?cái)?shù)量 |
Zcount zset |
獲得指定分?jǐn)?shù)范圍內(nèi)的元素個(gè)數(shù) |
Zrem zset one two |
刪除一個(gè)或多個(gè)元素 |
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 |