天天看點

Redis記憶體資料庫操作指令詳解

<b>一、連接配接操作相關的指令</b>

   quit關閉連接配接connection

   auth簡單密碼認證

<b>二、對value操作的指令</b>

   exists(key)确認一個key是否存在

   del(key)删除一個key

   type(key)傳回值的類型

   keys(pattern)傳回滿足給定pattern的所有key

   randomkey随機傳回key空間的一個key

   rename(oldname, newname)将key由oldname重命名為newname若newname存在則删除newname表示的key

   dbsize傳回目前資料庫中key的數目

   expire設定一個key的活動時間s

   ttl獲得一個key的活動時間

   select(index)按索引查詢

   move(key, dbindex)将目前資料庫中的key轉移到有dbindex索引的資料庫

   flushdb删除目前選擇資料庫中的所有key

   flushall删除所有資料庫中的所有key

<b>三、對string操作的指令</b>

   set(key, value)給資料庫中名稱為key的string賦予值value

   get(key)傳回資料庫中名稱為key的string的value

   getset(key, value)給名稱為key的string賦予上一次的value

   mget(key1, key2,…, key n)傳回庫中多個string它們的名稱為key1key2…的value

   setnx(key, value)如果不存在名稱為key的string則向庫中添加string名稱為key值為value

   setex(key, time, value)向庫中添加string名稱為key值為value同時設定過期時間time

   mset(key1, value1, key2, value2,…key n, value n)同時給多個string指派名稱為key i的string指派value i

   msetnx(key1, value1, key2, value2,…key n, value n)如果所有名稱為key i的string都不存在則向庫中添加string名稱key i指派為value i

   incr(key)名稱為key的string增1操作

   incrby(key, integer)名稱為key的string增加integer

   decr(key)名稱為key的string減1操作

   decrby(key, integer)名稱為key的string減少integer

   append(key, value)名稱為key的string的值附加value

   substr(key, start, end)傳回名稱為key的string的value的子串

<b>四、對list操作的指令</b>

   rpush(key, value)在名稱為key的list尾添加一個值為value的元素

   lpush(key, value)在名稱為key的list頭添加一個值為value的 元素

   llen(key)傳回名稱為key的list的長度

   lrange(key, start, end)傳回名稱為key的list中start至end之間的元素下标從0開始下同

   ltrim(key, start, end)截取名稱為key的list保留start至end之間的元素

   lindex(key, index)傳回名稱為key的list中index位置的元素

   lset(key, index, value)給名稱為key的list中index位置的元素指派為value

   lrem(key, count, value)删除count個名稱為key的list中值為value的元素。count為0删除所有值為value的元素count&gt;0從頭至尾删除count個值為value的元素count&lt;0從尾到頭删除|count|個值為value的元素。

   lpop(key)傳回并删除名稱為key的list中的首元素

   rpop(key)傳回并删除名稱為key的list中的尾元素

   blpop(key1, key2,… key n, timeout)lpop指令的block版本。即當timeout為0時若遇到名稱為key i的list不存在或該list為空則指令結束。如果timeout&gt;0則遇到上述情況時等待timeout秒如果問題沒有解決則對key i+1開始的list執行pop操作。

   brpop(key1, key2,… key n, timeout)rpop的block版本。參考上一指令。

   rpoplpush(srckey, dstkey)傳回并删除名稱為srckey的list的尾元素并将該元素添加到名稱為dstkey的list的頭部

<b>五、對set操作的指令</b>

   sadd(key, member)向名稱為key的set中添加元素member

   srem(key, member) 删除名稱為key的set中的元素member

   spop(key) 随機傳回并删除名稱為key的set中一個元素

   smove(srckey, dstkey, member) 将member元素從名稱為srckey的集合移到名稱為dstkey的集合

   scard(key) 傳回名稱為key的set的基數

   sismember(key, member) 測試member是否是名稱為key的set的元素

   sinter(key1, key2,…key n) 求交集

   sinterstore(dstkey, key1, key2,…key n) 求交集并将交集儲存到dstkey的集合

   sunion(key1, key2,…key n) 求并集

   sunionstore(dstkey, key1, key2,…key n) 求并集并将并集儲存到dstkey的集合

   sdiff(key1, key2,…key n) 求差集

   sdiffstore(dstkey, key1, key2,…key n) 求差集并将差集儲存到dstkey的集合

   smembers(key) 傳回名稱為key的set的所有元素

   srandmember(key) 随機傳回名稱為key的set的一個元素

<b>六、對zsetsorted set操作的指令</b>

   zadd(key, score, member)向名稱為key的zset中添加元素memberscore用于排序。如果該元素已經存在則根據score更新該元素的順序。

   zrem(key, member) 删除名稱為key的zset中的元素member

   zincrby(key, increment, member) 如果在名稱為key的zset中已經存在元素member則該元素的score增加increment否則向集合中添加該元素其score的值為increment

   zrank(key, member) 傳回名稱為key的zset元素已按score從小到大排序中member元素的rank即index從0開始若沒有member元素傳回“nil”

   zrevrank(key, member) 傳回名稱為key的zset元素已按score從大到小排序中member元素的rank即index從0開始若沒有member元素傳回“nil”

   zrange(key, start, end)傳回名稱為key的zset元素已按score從小到大排序中的index從start到end的所有元素

   zrevrange(key, start, end)傳回名稱為key的zset元素已按score從大到小排序中的index從start到end的所有元素

   zrangebyscore(key, min, max)傳回名稱為key的zset中score &gt;= min且score &lt;= max的所有元素

   zcard(key)傳回名稱為key的zset的基數

   zscore(key, element)傳回名稱為key的zset中元素element的score

   zremrangebyrank(key, min, max)删除名稱為key的zset中rank &gt;= min且rank &lt;= max的所有元素

   zremrangebyscore(key, min, max) 删除名稱為key的zset中score &gt;= min且score &lt;= max的所有元素

   zunionstore / zinterstore(dstkeyn, key1,…,keyn, weights w1,…wn, aggregate sum|min|max) 對n個zset求并集和交集并将最後的集合儲存在dstkeyn中。對于集合中每一個元素的score在進行aggregate運算前都要乘以對于 的weight參數。如果沒有提供weight預設為1。預設的aggregate是sum即結果集合中元素的score是所有集合對應元素進行 sum運算的值而min和max是指結果集合中元素的score是所有集合對應元素中最小值和最大值。

<b>七、對hash操作的指令</b>

   hset(key, field, value)向名稱為key的hash中添加元素field&lt;—&gt;value

   hget(key, field)傳回名稱為key的hash中field對應的value

   hmget(key, field1, …,field n)傳回名稱為key的hash中field i對應的value

   hmset(key, field1, value1,…,field n, value n)向名稱為key的hash中添加元素field i&lt;—&gt;value i

   hincrby(key, field, integer)将名稱為key的hash中field的value增加integer

   hexists(key, field)名稱為key的hash中是否存在鍵為field的域

   hdel(key, field)删除名稱為key的hash中鍵為field的域

   hlen(key)傳回名稱為key的hash中元素個數

   hkeys(key)傳回名稱為key的hash中所有鍵

   hvals(key)傳回名稱為key的hash中所有鍵對應的value

   hgetall(key)傳回名稱為key的hash中所有的鍵field及其對應的value

<b>八、持久化</b>

   save将資料同步儲存到磁盤

   bgsave将資料異步儲存到磁盤

   lastsave傳回上次成功将資料儲存到磁盤的unix時戳

   shundown将資料同步儲存到磁盤然後關閉服務

<b>九、遠端服務控制</b>

   info提供伺服器的資訊和統計

   monitor實時轉儲收到的請求

   slaveof改變複制政策設定

   config在運作時配置redis伺服器