1. Redis 鍵基本命令
Redis 鍵命令用于管理 redis 的鍵。
語法
Redis 鍵命令的基本語法如下:
127.0.0.1:6379> COMMAND KEY_NAME
命令
下表列出了常用的 redis keys命令:
| 序號 | 命令 | 描述 |
|---|---|---|
| 1 | DEL key | 該命令用于在 key 存在時刪除 key |
| 2 | DUMP key | 序列化給定 key ,并返回被序列化的值 |
| 3 | EXISTS key | 檢查給定 key 是否存在 |
| 4 | EXPIRE key seconds | 為給定 key 設(shè)置過期時間,以秒計 |
| 5 | EXPIREAT key timestamp | EXPIREAT 的作用和 EXPIRE 類似,都用于為 key 設(shè)置過期時間。 不同在于 EXPIREAT 命令接受的時間參數(shù)是 UNIX 時間戳(unix timestamp) |
| 6 | PEXPIRE key milliseconds | 設(shè)置 key 的過期時間以毫秒計 |
| 7 | PEXPIREAT key milliseconds-timestamp | 設(shè)置 key 過期時間的時間戳(unix timestamp) 以毫秒計 |
| 8 | KEYS pattern | 查找所有符合給定模式( pattern)的 key |
| 9 | MOVE key db | 將當(dāng)前數(shù)據(jù)庫的 key 移動到給定的數(shù)據(jù)庫 db 當(dāng)中 |
| 10 | PERSIST key | 移除 key 的過期時間,key 將持久保持 |
| 11 | PTTL key | 以毫秒為單位返回 key 的剩余的過期時間 |
| 12 | TTL key | 以秒為單位,返回給定 key 的剩余生存時間(TTL, time to live) |
| 13 | RANDOMKEY | 從當(dāng)前數(shù)據(jù)庫中隨機(jī)返回一個 key |
| 14 | RENAME key newkey | 修改 key 的名稱 |
| 15 | RENAMENX key newkey | 僅當(dāng) newkey 不存在時,將 key 改名為 newkey |
| 16 | TYPE key | 返回 key 所儲存的值的類型 |
2. Redis 字符串(String)
Redis 字符串?dāng)?shù)據(jù)類型的相關(guān)命令用于管理 redis 字符串值。
語法
127.0.0.1:6379> COMMAND KEY_NAME
命令
下表列出了常用的 redis 字符串命令:
| 序號 | 命令 | 描述 |
|---|---|---|
| 1 | SET key value | 設(shè)置指定 key 的值 |
| 2 | GET key | 獲取指定 key 的值 |
| 3 | GETRANGE key start end | 返回 key 中字符串值的子字符 |
| 4 | GETSET key value | 將給定 key 的值設(shè)為 value ,并返回 key 的舊值(old value) |
| 5 | GETBIT key offset | 對 key 所儲存的字符串值,獲取指定偏移量上的位(bit) |
| 6 | MGET key1 [key2..] | 獲取所有(一個或多個)給定 key 的值 |
| 7 | SETBIT key offset value | 對 key 所儲存的字符串值,設(shè)置或清除指定偏移量上的位(bit) |
| 8 | SETEX key seconds value | 將值 value 關(guān)聯(lián)到 key ,并將 key 的過期時間設(shè)為 seconds (以秒為單位) |
| 9 | SETNX key value | 只有在 key 不存在時設(shè)置 key 的值 |
| 10 | SETRANGE key offset value | 用 value 參數(shù)覆寫給定 key 所儲存的字符串值,從偏移量 offset 開始。 |
| 11 | STRLEN key | 返回 key 所儲存的字符串值的長度 |
| 12 | MSET key value [key value ...] | 同時設(shè)置一個或多個 key-value 對 |
| 13 | MSETNX key value [key value ...] | 同時設(shè)置一個或多個 key-value 對,當(dāng)且僅當(dāng)所有給定 key 都不存在 |
| 14 | PSETEX key milliseconds value | 這個命令和 SETEX 命令相似,但它以毫秒為單位設(shè)置 key 的生存時間,而不是像 SETEX 命令那樣,以秒為單位 |
| 15 | INCR key | 將 key 中儲存的數(shù)字值增一 |
| 16 | INCRBY key increment | 將 key 所儲存的值加上給定的增量值(increment) |
| 17 | INCRBYFLOAT key increment | 將 key 所儲存的值加上給定的浮點(diǎn)增量值(increment) |
| 18 | DECR key | 將 key 中儲存的數(shù)字值減一 |
| 19 | DECRBY key decrement | key 所儲存的值減去給定的減量值(decrement) |
| 20 | APPEND key value | 如果 key 已經(jīng)存在并且是一個字符串, APPEND 命令將指定的 value 追加到該 key 原來值(value)的末尾 |
3. Redis 哈希(Hash)
Redis hash 是一個string類型的field和value的映射表,hash特別適合用于存儲對象。
命令
下表列出了 redis hash 基本的相關(guān)命令:
| 序號 | 命令 | 描述 |
|---|---|---|
| 1 | HDEL key field1 [field2] | 刪除一個或多個哈希表字段 |
| 2 | HEXISTS key field | 查看哈希表 key 中,指定的字段是否存在 |
| 3 | HGET key field | 獲取存儲在哈希表中指定字段的值 |
| 4 | HGETALL key | 獲取在哈希表中指定 key 的所有字段和值 |
| 5 | HINCRBY key field increment | 為哈希表 key 中的指定字段的整數(shù)值加上增量 increment |
| 6 | HINCRBYFLOAT key field increment | 為哈希表 key 中的指定字段的浮點(diǎn)數(shù)值加上增量 increment |
| 7 | HKEYS key | 獲取所有哈希表中的字段 |
| 8 | HLEN key | 獲取哈希表中字段的數(shù)量 |
| 9 | HMGET key field1 [field2] | 獲取所有給定字段的值 |
| 10 | HMSET key field1 value1 [field2 value2 ] | 同時將多個 field-value (域-值)對設(shè)置到哈希表 key 中 |
| 11 | HSET key field value | 將哈希表 key 中的字段 field 的值設(shè)為 value |
| 12 | HSETNX key field value | 只有在字段 field 不存在時,設(shè)置哈希表字段的值 |
| 13 | HVALS key | 獲取哈希表中所有值 |
| 14 | HSCAN key cursor [MATCH pattern] [COUNT count] | 迭代哈希表中的鍵值對 |
4. Redis 列表(List)
Redis列表是簡單的字符串列表,按照插入順序排序。你可以添加一個元素到列表的頭部(左邊)或者尾部(右邊)
命令
下表列出了列表相關(guān)的基本命令:
| 序號 | 命令 | 描述 | |
|---|---|---|---|
| 1 | BLPOP key1 [key2 ] timeout | 移出并獲取列表的第一個元素, 如果列表沒有元素會阻塞列表直到等待超時或發(fā)現(xiàn)可彈出元素為止 | |
| 2 | BRPOP key1 [key2 ] timeout | 移出并獲取列表的最后一個元素, 如果列表沒有元素會阻塞列表直到等待超時或發(fā)現(xiàn)可彈出元素為止 | |
| 3 | BRPOPLPUSH source destination timeout | 從列表中彈出一個值,將彈出的元素插入到另外一個列表中并返回它; 如果列表沒有元素會阻塞列表直到等待超時或發(fā)現(xiàn)可彈出元素為止 | |
| 4 | LINDEX key index | 通過索引獲取列表中的元素 | |
| 5 | LINSERT key BEFORE | AFTER pivot value | 在列表的元素前或者后插入元素 |
| 6 | LLEN key | 獲取列表長度 | |
| 7 | LPOP key | 移出并獲取列表的第一個元素 | |
| 8 | LPUSH key value1 [value2] | 將一個或多個值插入到列表頭部 | |
| 9 | LPUSHX key value | 將一個值插入到已存在的列表頭部 | |
| 10 | LRANGE key start stop | 獲取列表指定范圍內(nèi)的元素 | |
| 11 | LREM key count value | 移除列表元素 | |
| 12 | LSET key index value | 通過索引設(shè)置列表元素的值 | |
| 13 | LTRIM key start stop | 對一個列表進(jìn)行修剪(trim),就是說,讓列表只保留指定區(qū)間內(nèi)的元素,不在指定區(qū)間之內(nèi)的元素都將被刪除 | |
| 14 | RPOP key | 移除列表的最后一個元素,返回值為移除的元素 | |
| 15 | RPOPLPUSH source destination | 移除列表的最后一個元素,并將該元素添加到另一個列表并返回 | |
| 16 | RPUSH key value1 [value2] | 在列表中添加一個或多個值 | |
| 17 | RPUSHX key value | 為已存在的列表添加值 |
5. Redis 集合(Set)
Redis 的 Set 是 String 類型的無序集合。集合成員是唯一的,這就意味著集合中不能出現(xiàn)重復(fù)的數(shù)據(jù)。
命令
下表列出了 Redis 集合基本命令:
| 序號 | 命令 | 描述 |
|---|---|---|
| 1 | SADD key member1 [member2] | 向集合添加一個或多個成員 |
| 2 | SCARD key | 獲取集合的成員數(shù) |
| 3 | SDIFF key1 [key2] | 返回給定所有集合的差集 |
| 4 | SDIFFSTORE destination key1 [key2] | 返回給定所有集合的差集并存儲在 destination 中 |
| 5 | SINTER key1 [key2] | 返回給定所有集合的交集 |
| 6 | SINTERSTORE destination key1 [key2] | 返回給定所有集合的交集并存儲在 destination 中 |
| 7 | SISMEMBER key member | 判斷 member 元素是否是集合 key 的成員 |
| 8 | SMEMBERS key | 返回集合中的所有成員 |
| 9 | SMOVE source destination member | 將 member 元素從 source 集合移動到 destination 集合 |
| 10 | SPOP key | 移除并返回集合中的一個隨機(jī)元素 |
| 11 | SRANDMEMBER key [count] | 返回集合中一個或多個隨機(jī)數(shù) |
| 12 | SREM key member1 [member2] | 移除集合中一個或多個成員 |
| 13 | SUNION key1 [key2] | 返回所有給定集合的并集 |
| 14 | SUNIONSTORE destination key1 [key2] | 所有給定集合的并集存儲在 destination 集合中 |
| 15 | SSCAN key cursor [MATCH pattern] [COUNT count] | 迭代集合中的元素 |
6. Redis 有序集合(sorted set)
Redis 有序集合和集合一樣也是string類型元素的集合,且不允許重復(fù)的成員。
命令
下表列出了 redis 有序集合的基本命令:
| 序號 | 命令 | 描述 |
|---|---|---|
| 1 | ZADD key score1 member1 [score2 member2] | 向有序集合添加一個或多個成員,或者更新已存在成員的分?jǐn)?shù) |
| 2 | ZCARD key | 獲取有序集合的成員數(shù) |
| 3 | ZCOUNT key min max | 計算在有序集合中指定區(qū)間分?jǐn)?shù)的成員數(shù) |
| 4 | ZINCRBY key increment member | 有序集合中對指定成員的分?jǐn)?shù)加上增量 increment |
| 5 | ZINTERSTORE destination numkeys key [key ...] | 計算給定的一個或多個有序集的交集并將結(jié)果集存儲在新的有序集合 key 中 |
| 6 | ZLEXCOUNT key min max | 在有序集合中計算指定字典區(qū)間內(nèi)成員數(shù)量 |
| 7 | ZRANGE key start stop [WITHSCORES] | 通過索引區(qū)間返回有序集合成指定區(qū)間內(nèi)的成員 |
| 8 | ZRANGEBYLEX key min max [LIMIT offset count] | 通過字典區(qū)間返回有序集合的成員 |
| 9 | ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT] | 通過分?jǐn)?shù)返回有序集合指定區(qū)間內(nèi)的成員 |
| 10 | ZRANK key member | 返回有序集合中指定成員的索引 |
| 11 | ZREM key member [member ...] | 移除有序集合中的一個或多個成員 |
| 12 | ZREMRANGEBYLEX key min max | 移除有序集合中給定的字典區(qū)間的所有成員 |
| 13 | ZREMRANGEBYRANK key start stop | 移除有序集合中給定的排名區(qū)間的所有成員 |
| 14 | ZREMRANGEBYSCORE key min max | 移除有序集合中給定的分?jǐn)?shù)區(qū)間的所有成員 |
| 15 | ZREVRANGE key start stop [WITHSCORES] | 返回有序集中指定區(qū)間內(nèi)的成員,通過索引,分?jǐn)?shù)從高到底 |
| 16 | ZREVRANGEBYSCORE key max min [WITHSCORES] | 返回有序集中指定分?jǐn)?shù)區(qū)間內(nèi)的成員,分?jǐn)?shù)從高到低排序 |
| 17 | ZREVRANK key member | 返回有序集合中指定成員的排名,有序集成員按分?jǐn)?shù)值遞減(從大到小)排序 |
| 18 | ZSCORE key member | 返回有序集中,成員的分?jǐn)?shù)值 |
| 19 | ZUNIONSTORE destination numkeys key [key ...] | 計算給定的一個或多個有序集的并集,并存儲在新的 key 中 |
| 20 | ZSCAN key cursor [MATCH pattern] [COUNT count] | 迭代有序集合中的元素(包括元素成員和元素分值) |