一、key 相關(guān):
(1)redis允許模糊查詢 key(keys *) 有3個(gè)通配符 *、?、[]
(2)randomkey:返回隨機(jī)key
(3)type key:返回key存儲的類型
(4)exists key:判斷某個(gè)key是否存在
(5)del key:刪除key
FLUSHALL: 刪除所有key(慎用)
二、數(shù)據(jù)操作:
Redis支持五種數(shù)據(jù)類型:string(字符串),hash(哈希),list(列表),set(集合)及 zset(sorted set:有序集合)。
1、string(字符串)
一個(gè)key對應(yīng)一個(gè)value。一個(gè)鍵最大能存儲512MB。string類型是二進(jìn)制安全的。
(1)set key value [ex 秒數(shù)] [px 毫秒數(shù)] [nx/xx]
如果ex和px同時(shí)寫,則以后面的有效期為準(zhǔn)
nx:如果key不存在則建立
xx:如果key存在則修改其值
(2)get key:取值
(3)mset key1 value1 key2 value2 一次設(shè)置多個(gè)值
(4)mget key1 key2 :一次獲取多個(gè)值
(5)setrange key offset value:把字符串的offset偏移字節(jié)改成value
如果偏移量 > 字符串長度,該字符自動(dòng)補(bǔ)0x00
(6)append key value :把value追加到key 的原值上
(7)getrange key start stop:獲取字符串中[start, stop]范圍的值
對于字符串的下標(biāo),左數(shù)從0開始,右數(shù)從-1開始
注意:
當(dāng)start>length,則返回空字符串
當(dāng)stop>=length,則截取至字符串尾
如果start所處位置在stop右邊,則返回空字符串
(8)getset key nrevalue:獲取并返回舊值,在設(shè)置新值
2、hash(哈希)
Redis hash 是一個(gè) string 類型的 field 和 value 的映射表,hash 特別適合用于存儲對象。每個(gè) hash 可以存儲 232 - 1 鍵值對(40多億)。
(1)hset myhash field value:設(shè)置myhash的field為value
(2)hsetnx myhash field value:不存在的情況下設(shè)置myhash的field為value
(3)hmset myhash field1 value1 field2 value2:同時(shí)設(shè)置多個(gè)field
(4)hget myhash field:獲取指定的hash field
(5)hmget myhash field1 field2:一次獲取多個(gè)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:獲取某個(gè)hash中全部的field及value
3、list(列表)
Redis 列表是簡單的字符串列表,按照插入順序排序。你可以添加一個(gè)元素到列表的頭部(左邊)或者尾部(右邊)。列表最多可存儲 232 - 1 元素 (4294967295, 每個(gè)列表可存儲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的絕對值個(gè)value后結(jié)束
count > 0 從表頭刪除
count 0 從表尾刪除
count=0 全部刪除
(7)ltrim key start stop:剪切key對應(yīng)的鏈接,切[start, stop]一段并把改制重新賦給key
(8)lindex key index:返回index索引上的值
4、set(集合)
Redis的Set是string類型的無序集合。值不重復(fù)。
(1)sadd key value1 value2:往集合里面添加元素
(2)smembers key:獲取集合所有的元素
(3)srem key value:刪除集合某個(gè)元素
(4)spop key:返回并刪除集合中1個(gè)隨機(jī)元素(可以坐抽獎(jiǎng),不會(huì)重復(fù)抽到某人)
(5)srandmember key:隨機(jī)取一個(gè)元素
(6)sismember key value:判斷集合是否有某個(gè)值
(7)scard key:返回集合元素的個(gè)數(shù)
(8)smove source dest value:把source的value移動(dòng)到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類型元素的集合。且不允許重復(fù)的成員。不同的是每個(gè)元素都會(huì)關(guān)聯(lián)一個(gè)double類型的分?jǐn)?shù)。redis正是通過分?jǐn)?shù)來為集合中的成員進(jìn)行從小到大的排序。zset的成員是唯一的,但分?jǐn)?shù)(score)卻可以重復(fù)。
(1)zadd key score1 value1:添加元素
(2)zrange key start stop [withscore]:把集合排序后,返回名次[start,stop]的元素
默認(rèn)是升續(xù)排列 withscores 是把score也打印出來
(3)zrank key member:查詢member的排名(升序0名開始)
(4)zrangebyscore key min max [withscores] limit offset N:集合(升序)
排序后取score在[min, max]內(nèi)的元素,并跳過offset個(gè),取出N個(gè)
(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:返回集合元素的個(gè)數(shù)
(10)zcount key min max:返回[min, max]區(qū)間內(nèi)元素?cái)?shù)量
到此這篇關(guān)于redis常用命令整理的文章就介紹到這了,更多相關(guān)redis常用命令介紹內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- Redis的5種數(shù)據(jù)類型與常用命令講解
- Redis安裝配置與常用命令
- Redis中散列類型的常用命令小結(jié)
- Redis字符串類型的常用命令小結(jié)
- Redis有序集合類型的常用命令小結(jié)