redis 常用命令行


一、key 相關:

1   (1)redis允許模糊查詢 key(keys *)  有3個通配符  *、?、[]
2 
3   (2)randomkey:返回隨機key   4 
5   (3)type key:返回key存儲的類型 6 
7   (4exists key:判斷某個key是否存在 8 
9   (5)del key:刪除key
      FLUSHALL: 刪除所有key(慎用)

二、數據操作:

  Redis支持五種數據類型:string(字符串),hash(哈希),list(列表),set(集合)及 zset(sorted set:有序集合)。 

  1. string(字符串)

  一個key對應一個value。一個鍵最大能存儲512MB。string類型是二進制安全的。

 1   (1set key value [ex 秒數] [px 毫秒數] [nx/xx]  
 2 
 3       如果ex和px同時寫,則以后面的有效期為准  4 
 5       nx:如果key不存在則建立  6 
 7       xx:如果key存在則修改其值  8 
 9   (2)get key:取值 10 
11   (3)mset key1 value1 key2 value2 一次設置多個值 12 
13   (4)mget key1 key2 :一次獲取多個值 14 
15   (5)setrange key offset value:把字符串的offset偏移字節改成value 16 
17                   如果偏移量 > 字符串長度,該字符自動補0x00 18 
19   (6)append key value :把value追加到key 的原值上 20 
21   (7)getrange key start stop:獲取字符串中[start, stop]范圍的值 22 
23                   對於字符串的下標,左數從0開始,右數從-1開始 24 
25                   注意:當start>length,則返回空字符串 26 
27                      當stop>=length,則截取至字符串尾 28 
29                      如果start所處位置在stop右邊,則返回空字符串 30 
31   (8)getset key nrevalue:獲取並返回舊值,在設置新值

 2. hash(哈希) 

  Redis hash 是一個 string 類型的 field 和 value 的映射表,hash 特別適合用於存儲對象。每個 hash 可以存儲 232 - 1 鍵值對(40多億)。

 1   (1)hset myhash field value:設置myhash的field為value  2 
 3   (2)hsetnx myhash field value:不存在的情況下設置myhash的field為value  4 
 5   (3)hmset myhash field1 value1 field2 value2:同時設置多個field  6 
 7   (4)hget myhash field:獲取指定的hash field  8 
 9   (5)hmget myhash field1 field2:一次獲取多個field 10 
11   (6)hincrby myhash field 5:指定的hash field加上給定的值 12 
13   (7)hexists myhash field:測試指定的field是否存在 14 
15   (8)hlen myhash:返回hash的field數量 16 
17   (9)hdel myhash field:刪除指定的field 18 
19   (10)hkeys myhash:返回hash所有的field 20 
21   (11)hvals myhash:返回hash所有的value 22 
23   (12)hgetall myhash:獲取某個hash中全部的field及value

3. list(列表)

  Redis 列表是簡單的字符串列表,按照插入順序排序。你可以添加一個元素到列表的頭部(左邊)或者尾部(右邊)。列表最多可存儲 232 - 1 元素 (4294967295, 每個列表可存儲40多億)。

 1   (1)lpush key value:把值插入到鏈表頭部  2 
 3   (2)rpush key value:把值插入到鏈表尾部  4 
 5   (3)lpop key :返回並刪除鏈表頭部元素  6 
 7   (4)rpop key: 返回並刪除鏈表尾部元素  8 
 9   (5)lrange key start stop:返回鏈表中[start, stop]中的元素 10 
11   (6)lrem key count value:從鏈表中刪除value值,刪除count的絕對值個value后結束 12 
13                 count > 0 從表頭刪除  count < 0 從表尾刪除  count=0 全部刪除 14 
15   (7ltrim key start stop:剪切key對應的鏈接,切[start, stop]一段並把改制重新賦給key 16 
17   (8)lindex key index:返回index索引上的值

 4. set(集合)

  Redis的Set是string類型的無序集合。值不重復。

 1   (1)sadd key value1 value2:往集合里面添加元素  2 
 3   (2)smembers key:獲取集合所有的元素  4 
 5   (3)srem key value:刪除集合某個元素  6 
 7   (4)spop key:返回並刪除集合中1個隨機元素(可以坐抽獎,不會重復抽到某人)     8 
 9   (5)srandmember key:隨機取一個元素 10 
11   (6)sismember key value:判斷集合是否有某個值 12 
13   (7)scard key:返回集合元素的個數 14 
15   (8)smove source dest value:把source的value移動到dest集合中 16 
17   (9)sinter key1 key2 key3:求key1 key2 key3的交集 18 
19   (10)sunion key1 key2:求key1 key2 的並集 20 
21   (11)sdiff key1 key2:求key1 key2的差集 22 
23   (12)sinterstore res key1 key2:求key1 key2的交集並存在res里 

 5. zset(sorted set:有序集合)

  Redis zset 和 set 一樣也是string類型元素的集合。且不允許重復的成員。不同的是每個元素都會關聯一個double類型的分數。redis正是通過分數來為集合中的成員進行從小到大的排序。zset的成員是唯一的,但分數(score)卻可以重復。

 1   (1)zadd key score1 value1:添加元素  2 
 3   (2)zrange key start stop [withscore]:把集合排序后,返回名次[start,stop]的元素  
       默認是升續排列  withscores 是把score也打印出來
4 5   (3)zrank key member:查詢member的排名(升序0名開始) 6 7   (4)zrangebyscore key min max [withscores] limit offset N:集合(升序)
       排序后取score在[min, max]內的元素,並跳過offset個,取出N個 8 9   (5)zrevrank key member:查詢member排名(降序 0名開始) 10 11   (6)zremrangebyscore key min max:按照score來刪除元素,刪除score在[min, max]之間 12 13   (7)zrem key value1 value2:刪除集合中的元素 14 15   (8)zremrangebyrank key start end:按排名刪除元素,刪除名次在[start, end]之間的 16 17   (9)zcard key:返回集合元素的個數 18 19   (10)zcount key min max:返回[min, max]區間內元素數量


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM