Redis的常用命令總結

Redis具有的特點以及優勢

  • Redis支持數據的持久化,可以將內存中的數據保存在磁盤中,重啓的時候可以再次加載進行使用。
  • Redis不僅僅支持簡單的key-value類型的數據,同時還提供list,set,zset,hash等數據結構的存儲。
  • Redis支持數據的備份,即master-slave模式的數據備份。

Redis的幾種數據類型

  • String(字符串):使用的最多和json一起使用。
  • List(字符串列表):按照插入順序排序的字符串鏈表,和數據結構中的普通鏈表一樣。
  • Hash(字符串列表) :鏈表結構 ,適合用於存儲對象。
  • Set(字符串集合) :唯一性,用於保證數據的唯一性。
  • Sorted set(有序字符串集合): 用於網站排名 競價排名,變化不能太快。

string類型命令

  1. 設置值:設置key持有指定的字符串value 如果key存在就會進行覆蓋操作。
set key value 
  1. 獲取值:獲取key的value 如果key不是String類型 將返回錯誤的信息。
get key 
  1. 先獲取key的值 然後再設置key的值。
Getset key value 
  1. 刪除:刪除指定的key(通用性命令)
Del key
  1. 數值增加:將指定的key的value原子性遞增一。
Incr key
  1. 數值減少:將指定的key的value原子性遞減一。
decr key
  1. 將指定的key的value原子性的value增加num。
    擴展命令:
incrby key num
  1. 將指定的key的value原子性的value減少num。
decr key num
  1. 拼接字符串如果該key存在 則再原有的value後追加該值。
append key value

Hash類型命令

  1. 設置值:爲指定的key設定field/value對(鍵值對)。
hset key field value
  1. 獲取值:返回指定的key的field的value值。
hget key field
  1. 設置key的多個field/value。
hmset key field value field2 value2 
  1. 獲取key中的多個field的value值。
hmget key field field2
  1. 獲取key中的field-value對(鍵值對)。
hgetall key
  1. 刪除:可以刪除一個或者多個field字段,返回值是被刪除的字段。
hdel key field .... 
  1. 刪除整個hash列表。
del key
  1. 增加數字:設置key中的field增減num 。
hincrby key field num 
  1. 判斷值的field是否存在。
hexists key field
  1. 獲取key所包含field的數量。
hlen key
  1. 獲取所有的key
hkeys key 
  1. 獲取所有的field的value值。
hvals key

List類型命令

兩端添加
  1. 在指定的key所關聯的list的頭部插入所有的values,插入成功,返回元素的個數。
lpush key values values1 values2
  1. 在list 的尾部插入需要添加的values元素,插入成功返回插入的個數。
rpush key values value1 value2
兩端彈出
  1. 返回並彈出指定的key關聯鏈表中的第一個元素,即頭部元素,如果該key不存在,返回nil;若key存在,則返回鏈表的頭號元素。
lpop  key
  1. 返回並彈出指定key關聯列表中的第一個元素,即尾部元素,如果該key不存在,返回nil;若key存在,則返回鏈表的頭號元素。
rpop key 
  1. 獲取鏈表中從start到end元素的值,start,end從0開始,也可以是負數,若爲-1則表示鏈表尾部的元素,-2則表示倒數第二個數。
lrange key start end
其他命令
  1. 獲取列表中元素的個數:返回指定key關聯鏈表中元素的數量。
llen key
  1. 僅當參數中只當的key存在時,向關聯的list鏈表中的頭部插入value。
lpushx key value 
  1. 僅當參數中只當的key存在時,向關聯的list鏈表中的尾部插入value。
rpush key value

4。 刪除key中指定的value的元素。

lrem key count value
  1. 設置鏈表中index的索引的值爲value (執行的替換的操作),0代表鏈表的頭元素,-1代表鏈表的爲尾元素。如果index的索引不存在則拋出異常。
lset key index value 
  1. 在pivot元素前或者原屬後插入value這個元素。
linsert key before(以前)||after(以後) pivot value
  1. 將鏈表中的的尾部元素彈出並添加到頭部。
rpoplpush resouce distination

Set類型命令

添加

向set集合中添加數據,如果該key的值存在就不會重複添加。

sadd key values values1 values2
刪除

刪除set中只當的成員,刪除的成員可以是多個。

srem key members  members1 members1 
獲取
  1. 獲取set中所有的成員。
smembers key
  1. 判斷參數中指定的成員是否存在,該set中,1表示存在,0
    表示不存在。
sismember key member
其他命令
  1. 返回key1和key中相差的成員(對方沒有的就獲取出來構成的集合),而且與key的順序有關,即返回差集。
sdiff key1 key2
  1. 返回key1 和key2都有的成員(雙方都有的就獲取出來構成的集合),即返回交集。
sinter key1 key2
  1. 返回key1 和key2和key3都有的成員,相同的成員會進行覆蓋的效果,即返回並集。
sunion key1 key2 key3
  1. 獲取set集合中成員的數量。
scard key
  1. 隨機返回set中的一個成員。
srandmember key 
  1. 將key1和key2相差的成員存儲在destination上。
sddiffstore destination key1 key2
  1. 將返回的交集存儲在destination上key1
sinterstore destination key1 key2
  1. 將返回的並集存儲在destination上。
sunionstore destination key1 key2

Sortted-set類型命令

  1. 添加元素:將所有的成員以及該成員的分數存放到sortted-set中,如果該元素已經存在則會用新的分數替換原來的分數,返回值時加入到集合中的個數,不包含之前存在的元素。((score)分數可以重複,member不可以重複)。
zadd key score member score2 member2 
  1. 查詢所所有的信息。
zrange key start end [withscores(是否攜帶參數)]
  1. 返回值指定的分數。
zscore key member
  1. 獲取集合中所有的成員數量。
zcard key
  1. 獲取集合中索引爲statr-end之間的成員 withscores可選參數。
zrem key start end [withscores(是否攜帶參數)]
  1. 按照元素的分數從小到大返回索引。(從start到 end之間的所有yuans)。
zrevange key start end[withscores(是否攜帶參數)]
  1. 按照排名範圍刪除元素。
zremrangebyrank key start end
  1. 按照分數範圍刪除元素。
zremrangebyscore key min max
  1. 返回分數在[min,max]的成員按照分數從低到高排序, [withscores(是否攜帶參數)]:顯示分數,[limit offset count]:offset 表明從索引到offset的元素開始返回 count:返回的成員個數。
zarangebyscore key min max [withscores(是否攜帶參數)] [limit offser count]
  1. 設置指定的成員的增加的分數,返回值是增加的分數。
zincrby key increment member 
  1. 獲取分數在min和max之間的成員。
zcount key min max
  1. 返回成員在集合中的排名(從小到大)。
zrank key member 
  1. 返回成員在集合中的排名(從大到小)。
zrevrank key member

ps:[如果存在錯誤歡迎指出!]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章