一、key 相關:
(1)redis允許模糊查詢key(keys *) 有3個通配符 *、?、[ ]
(2)randomkey:傳回隨機key
#(3)type key:返回key儲存的類型
(4)exists key:判斷某個key是否存在
(5)del key:刪除key
# FLUSHALL: 刪除所有key(慎用)
#二、資料操作:
Redis支援五種資料類型:string(字串),hash(雜湊),list(列表),set(集合)及 zset(sorted set:有序集合)。
1、string(字串)
一個key對應一個value。一個鍵最大能儲存512MB。 string類型是二進位安全的。
(1)set key value [ex 秒數] [px 毫秒數] [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偏移位元組改成value
如果偏移> 字串長度,該字元自動補0x00
#(6)append key value :把value追加到key 的原值上
(7)getrange key start stop:取得字串中[start, stop]範圍的值
對於字串的下標,左數從0開始,右數從-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
#(
#3、list(列表)
Redis 列表是簡單的字串列表,依照插入順序排序。你可以加上一個元素到清單的頭部(左邊)或尾部(右邊)。清單最多可儲存 232 - 1 元素 (4294967295, 每個清單可儲存40億以上)。
(1)lpush key 值:把值插入到鍊錶頭部
count > 0 從表頭刪除
count < 0 從表尾刪除
#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:傳回集合元素的數量
(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類型元素的集合。且不允許重複的成員。不同的是每個元素都會關聯一個double類型的分數。 redis正是透過分數來為集合中的成員進行從小到大的排序。 zset的成員是唯一的,但分數(score)卻可以重複。
(1)zadd key score1 value1:加上元素
(2)zrange key start stop [withscore]:把集合排序後,回傳名次[start,stop]的元素
預設是升續排列 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:傳回集合元素的數量
(10)zcount key min max:回傳[ min, max]區間內元素數量
更多redis知識請關注PHP中文網redis教學欄位。
以上是redis常用指令介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!