Redis key關鍵字
keys *
羅列所有key
exists key
判斷某個key是否存在
move key db
將某個的key移動到指定的數據庫
expire key 秒
爲指定的key設置過期時間,單位秒
ttl key
查看key還有多少秒過期,-1表示永不過期,-2表示已過期
type key
查看key對應的數據類型
del key
刪除key及對應值
Redis String
set key value
設定key的值爲value
get/del key
獲得或刪除key的值
append key value
將字符串value添加到給定key的值的後面,字符串拼接
strlen key
獲取給定key的值的長度
incr/decr key
key的值每次遞增或遞減1,值爲integer
incrby/decrby key X
key的值每次遞增或遞減X
getrange key 0 N
獲取指定區間的值,獲取下標爲0到N的字符串
setrange key 0 XX
修改指定區間的字符串爲XX
sete key 秒 value
set with expire,修改key的值爲value並給定過期時間
setnx key value
set if not exists,如果key不存在,設定key的值爲value
mset/mget/msetnx
key1 v1 key2 v2 key3 v3 批量設置或取得鍵值對,msetnx中如果其中一個key存在則所有key都無法設置
Redis List
lpush/rpush key v1 v2 v3 v4
lpush先進後出,rpush先進先出,lpush每個元素從集合頭部添加,rpush每個元素從集合尾部添加
lrange key 0 -1
獲取指定下標範圍的值,lpush在最上面插入,rpush在最下面插入
lpop/rpop key
pop出一個value,若以lrange的值來看,lpop取出最上面的一個值,rpop取出最下面的一個值。
lindex key X
按照下標索引X獲得元素(從上到下)
llen key
獲取list元素長度
lrem key N value
刪除list中N個value,以lrange列出的值中從上往下的刪N個,批量刪除
ltrim key 0 N
取出list中指定下標範圍的值,並將取出的值覆蓋原來的list,即刪除指定範圍外的值
rpoplpush list1 list2
將list1中最下面的值取出,放入list2中最上面
lset key index value
修改指定索引的值,索引順序從上到下
linsert key before/after v1 v2
在v1的前面或後面插入v2
List總結:
1.它是一個字符串鏈表,left、right都能插入添加
2.若鍵不存在,創建新的鏈表,若鍵存在,新增內容
3.若值全移除,則對應的鍵也消失
4.鏈表的操作頭和尾效率都高,但對中間元素操作效率就較低了
Redis Set
sadd key v1 v2 v3
添加元素,會自動去掉重複的值
smembers key
羅列所有成員元素
sismember key value
判斷value是否爲key中元素
scard key
獲取集合中元素個數
srem key value
刪除key中某個元素
srandmember key N
從集合中隨機顯示N個元素
spop key
從集合中隨機取出一個元素
smove key1 key2 value
將key1中某個元素移動到key2中
sdiff/sinter/sunion key1 key2
顯示key1和key2的差集,交集,補集
sdiff key1 key2
顯示key1中key2不存在的元素
Redis Hash
hset user id 1
添加鍵值對
hget user id
獲取值
hmset user id 1 age 13
批量添加鍵值對
hmget user id age
批量獲取值
hgetall
獲取所有鍵值對
hdel user id
刪除鍵值對
hlen user
獲取鍵值對個數
hexists user id
判斷集合中某個鍵值是否存在
hkeys/hvals user
獲取所有的key或所有的value
hincrby/hincrbyfloat user id N/N.NN
集合中某個鍵的值每次遞增N或N.NN
hsetnx user id 1
若添加的鍵已存在則不操作
Redis Zset
zadd key score1 v1 score2 v2 score3 v3
添加元素並設置分數
zrange key 0 N
給定下標範圍的顯示集合元素,根據分數從小到大排列
zrange key 0 N withscores
帶分數列舉元素
zrangebyscore key score1 score2
列舉出集合中分數在【score1,score2】之間的元素
zrangebyscore key (score1 score2
“(“爲不包含的意思,列舉分數在(score1,score2]之間的元素
zrangebyscore key score1 score2 limit x y
列舉出元素後,從下標爲x的元素開始,篩選出y個元素
zrem key value
刪除value
zcard key
獲得集合value個數
zcount key score1 score2
統計score1和score2之間有多少個元素,包含score1,score2
zrank key value
獲取value在集合中的下標
zrevrank key value
逆序獲取value在集合中的下標
zscore key value
獲取value對應的分數
zrevrange key 0 N
給定下標範圍的顯示集合元素,下標是逆序的
zrevrangebyscore key score2 score1
列舉出集合中分數在【score1,score2】之間的元素,根據分數從大到小的顯示