redis常用命令介紹

redis常用命令介紹

一、key 相關:

(1)redis允許模糊查詢 key(keys *)  有3個通配符? *、?、[]

(2)randomkey:返回隨機key  

(3)type key:返回key存儲的類型

(4)exists key:判斷某個key是否存在

(5)del key:刪除key

?FLUSHALL: 刪除所有key(慎用)

二、數(shù)據(jù)操作:

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

1、string(字符串)

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

(1)set key value [ex 秒數(shù)] [px 毫秒數(shù)] [nx/xx]  

如果ex和px同時寫,則以后面的有效期為準

nx:如果key不存在則建立

xx:如果key存在則修改其值

(2)get key:取值

(3)mset key1 value1 key2 value2 一次設置多個值

(4)mget key1 key2 :一次獲取多個值

(5)setrange key offset value:把字符串的offset偏移字節(jié)改成value

如果偏移量 > 字符串長度,該字符自動補0x00

(6)append key value :把value追加到key 的原值上

(7)getrange key start stop:獲取字符串中[start, stop]范圍的值

對于字符串的下標,左數(shù)從0開始,右數(shù)從-1開始

注意:

當start>length,則返回空字符串

當stop>=length,則截取至字符串尾

如果start所處位置在stop右邊,則返回空字符串

(8)getset key nrevalue:獲取并返回舊值,在設置新值

2、hash(哈希) 

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

(1)hset myhash field value:設置myhash的field為value

(2)hsetnx myhash field value:不存在的情況下設置myhash的field為value

(3)hmset myhash field1 value1 field2 value2:同時設置多個field

(4)hget myhash field:獲取指定的hash field

(5)hmget myhash field1 field2:一次獲取多個field

(6)hincrby myhash field 5:指定的hash field加上給定的值

(7)hexists myhash field:測試指定的field是否存在

(8)hlen myhash:返回hash的field數(shù)量

(9)hdel myhash field:刪除指定的field

(10)hkeys myhash:返回hash所有的field

(11)hvals myhash:返回hash所有的value

(12)hgetall myhash:獲取某個hash中全部的field及value

3、list(列表)

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

(1)lpush key value:把值插入到鏈表頭部

(2)rpush key value:把值插入到鏈表尾部

(3)lpop key :返回并刪除鏈表頭部元素

(4)rpop key: 返回并刪除鏈表尾部元素

(5)lrange key start stop:返回鏈表中[start, stop]中的元素

(6)lrem key count value:從鏈表中刪除value值,刪除count的絕對值個value后結束

count > 0 從表頭刪除  

count

count=0 全部刪除

(7)ltrim key start stop:剪切key對應的鏈接,切[start, stop]一段并把改制重新賦給key

(8)lindex key index:返回index索引上的值

4、set(集合)

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

(1)sadd key value1 value2:往集合里面添加元素

(2)smembers key:獲取集合所有的元素

(3)srem key value:刪除集合某個元素

(4)spop key:返回并刪除集合中1個隨機元素(可以坐抽獎,不會重復抽到某人)   

(5)srandmember key:隨機取一個元素

(6)sismember key value:判斷集合是否有某個值

(7)scard key:返回集合元素的個數(shù)

(8)smove source dest value:把source的value移動到dest集合中

(9)sinter key1 key2 key3:求key1 key2 key3的交集

(10)sunion key1 key2:求key1 key2 的并集

(11)sdiff key1 key2:求key1 key2的差集

(12)sinterstore res key1 key2:求key1 key2的交集并存在res里

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

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

(1)zadd key score1 value1:添加元素

(2)zrange key start stop [withscore]:把集合排序后,返回名次[start,stop]的元素??

默認是升續(xù)排列? withscores 是把score也打印出來

(3)zrank key member:查詢member的排名(升序0名開始)

(4)zrangebyscore key min max [withscores] limit offset N:集合(升序)

排序后取score在[min, max]內的元素,并跳過offset個,取出N個

(5)zrevrank key member:查詢member排名(降序 0名開始)

(6)zremrangebyscore key min max:按照score來刪除元素,刪除score在[min, max]之間

(7)zrem key value1 value2:刪除集合中的元素

(8)zremrangebyrank key start end:按排名刪除元素,刪除名次在[start, end]之間的

(9)zcard key:返回集合元素的個數(shù)

(10)zcount key min max:返回[min, max]區(qū)間內元素數(shù)量

更多redis知識請關注PHP中文網(wǎng)redis教程欄目。

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊13 分享