Redis 鍵命令用於管理 redis 的鍵。redis
Redis DEL 命令用於刪除已存在的鍵。不存在的 key 會被忽略。bash
redis 127.0.0.1:6379> DEL KEY_NAME
複製代碼
在以上實例中 DEL 是一個命令, KEY_NAME 是一個鍵。 若是鍵被刪除成功,命令執行後輸出 (integer) 1,不然將輸出 (integer) 0post
Redis EXISTS 命令用於檢查給定 key 是否存在。ui
redis 127.0.0.1:6379> EXISTS KEY_NAME
複製代碼
若 key 存在返回 1 ,不然返回 0 。spa
Redis Expire 命令用於設置 key 的過時時間,key 過時後將再也不可用。單位以秒計。code
redis 127.0.0.1:6379> Expire KEY_NAME TIME_IN_SECONDS
複製代碼
設置成功返回 1 。 當 key 不存在或者不能爲 key 設置過時時間時(好比在低於 2.1.3 版本的 Redis 中你嘗試更新 key 的過時時間)返回 0 。對象
Redis Type 命令用於返回 key 所儲存的值的類型。排序
redis 127.0.0.1:6379> TYPE KEY_NAME
複製代碼
返回 key 的數據類型,數據類型有:three
Redis 字符串數據類型的相關命令用於管理 redis 字符串值字符串
Redis SET 命令用於設置給定 key 的值。若是 key 已經存儲其餘值, SET 就覆寫舊值,且無視類型。
redis 127.0.0.1:6379> SET KEY_NAME VALUE
OK
複製代碼
在 Redis 2.6.12 之前版本, SET 命令老是返回 OK 。 從 Redis 2.6.12 版本開始, SET 在設置操做成功完成時,才返回 OK
Redis Get 命令用於獲取指定 key 的值。
redis> GET db
(nil)
redis> SET db redis
OK
redis> GET db
"redis"
複製代碼
返回 key 的值,若是 key 不存在時,返回 nil。 若是 key 不是字符串類型,那麼返回一個錯誤。
Redis Incrby 命令將 key 中儲存的數字加上指定的增量值。
若是 key 不存在,那麼 key 的值會先被初始化爲 0 ,而後再執行 INCRBY 命令。
若是值包含錯誤的類型,或字符串類型的值不能表示爲數字,那麼返回一個錯誤。
本操做的值限制在 64 位(bit)有符號數字表示以內。
redis> SET rank 50
OK
redis> INCRBY rank 20
(integer) 70
redis> GET rank
"70"
複製代碼
加上指定的增量值以後, key 的值。
Redis Decrby 命令將 key 所儲存的值減去指定的減量值。
若是 key 不存在,那麼 key 的值會先被初始化爲 0 ,而後再執行 DECRBY 操做。
若是值包含錯誤的類型,或字符串類型的值不能表示爲數字,那麼返回一個錯誤。
本操做的值限制在 64 位(bit)有符號數字表示以內。
redis> SET count 100
OK
redis> DECRBY count 20
(integer) 80
複製代碼
減去指定減量值以後, key 的值。
Redis hash 是一個 string 類型的 field 和 value 的映射表,hash 特別適合用於存儲對象。
Redis 中每一個 hash 能夠存儲 232 - 1 鍵值對(40多億)。
Redis Hset 命令用於爲哈希表中的字段賦值 。
若是哈希表不存在,一個新的哈希表被建立並進行 HSET 操做。
若是字段已經存在於哈希表中,舊值將被覆蓋。
redis 127.0.0.1:6379> HSET myhash field1 "foo"
OK
複製代碼
若是字段是哈希表中的一個新建字段,而且值設置成功,返回 1 。 若是哈希表中域字段已經存在且舊值已被新值覆蓋,返回 0 。
Redis Hget 命令用於返回哈希表中指定字段的值。
redis> HGET myhash field1
"foo"
複製代碼
返回給定字段的值。若是給定的字段或 key 不存在時,返回 nil 。
Redis Hgetall 命令用於返回哈希表中,全部的字段和值。
在返回值裏,緊跟每一個字段名(field name)以後是字段的值(value),因此返回值的長度是哈希表大小的兩倍。
redis> HSET myhash field1 "Hello"
(integer) 1
redis> HSET myhash field2 "World"
(integer) 1
redis> HGETALL myhash
1) "field1"
2) "Hello"
3) "field2"
4) "World"
redis>
複製代碼
以列表形式返回哈希表的字段及字段值。 若 key 不存在,返回空列表。
Redis列表是簡單的字符串列表,按照插入順序排序。你能夠添加一個元素到列表的頭部(左邊)或者尾部(右邊)
一個列表最多能夠包含 232 - 1 個元素 (4294967295, 每一個列表超過40億個元素)。
Redis Rpush 命令用於將一個或多個值插入到列表的尾部(最右邊)。
若是列表不存在,一個空列表會被建立並執行 RPUSH 操做。 當列表存在但不是列表類型時,返回一個錯誤。
注意:在 Redis 2.4 版本之前的 RPUSH 命令,都只接受單個 value 值。
redis 127.0.0.1:6379> RPUSH mylist "hello"
(integer) 1
redis 127.0.0.1:6379> RPUSH mylist "hello"
(integer) 2
redis 127.0.0.1:6379> RPUSH mylist "foo"
(integer) 3
redis 127.0.0.1:6379> RPUSH mylist "bar"
(integer) 4
複製代碼
執行 RPUSH 操做後,列表的長度。
Redis Ltrim 對一個列表進行修剪(trim),就是說,讓列表只保留指定區間內的元素,不在指定區間以內的元素都將被刪除。
下標 0 表示列表的第一個元素,以 1 表示列表的第二個元素,以此類推。 你也可使用負數下標,以 -1 表示列表的最後一個元素, -2 表示列表的倒數第二個元素,以此類推。
redis 127.0.0.1:6379> LRANGE mylist 0 -1
1) "hello"
2) "foo"
3) "bar"
複製代碼
命令執行成功時,返回 ok 。
Redis 的 Set 是 String 類型的無序集合。集合成員是惟一的,這就意味着集合中不能出現重複的數據。
Redis 中集合是經過哈希表實現的,因此添加,刪除,查找的複雜度都是 O(1)。
集合中最大的成員數爲 232 - 1 (4294967295, 每一個集合可存儲40多億個成員)。
Redis Sadd 命令將一個或多個成員元素加入到集合中,已經存在於集合的成員元素將被忽略。
假如集合 key 不存在,則建立一個只包含添加的元素做成員的集合。
當集合 key 不是集合類型時,返回一個錯誤。
注意:在 Redis2.4 版本之前, SADD 只接受單個成員值。
redis 127.0.0.1:6379> SADD myset "hello"
(integer) 1
redis 127.0.0.1:6379> SADD myset "foo"
(integer) 1
redis 127.0.0.1:6379> SADD myset "hello"
(integer) 0
複製代碼
被添加到集合中的新元素的數量,不包括被忽略的元素。
Redis Smembers 命令返回集合中的全部的成員。 不存在的集合 key 被視爲空集合。
redis 127.0.0.1:6379> SMEMBERS myset1
1) "World"
2) "Hello"
複製代碼
集合中的全部成員。
Redis 有序集合和集合同樣也是string類型元素的集合,且不容許重複的成員。
不一樣的是每一個元素都會關聯一個double類型的分數。redis正是經過分數來爲集合中的成員進行從小到大的排序。
有序集合的成員是惟一的,但分數(score)卻能夠重複。
集合是經過哈希表實現的,因此添加,刪除,查找的複雜度都是O(1)。 集合中最大的成員數爲 232 - 1 (4294967295, 每一個集合可存儲40多億個成員)。
Redis Zadd 命令用於將一個或多個成員元素及其分數值加入到有序集當中。
若是某個成員已是有序集的成員,那麼更新這個成員的分數值,並經過從新插入這個成員元素,來保證該成員在正確的位置上。
分數值能夠是整數值或雙精度浮點數。
若是有序集合 key 不存在,則建立一個空的有序集並執行 ZADD 操做。
當 key 存在但不是有序集類型時,返回一個錯誤。
注意: 在 Redis 2.4 版本之前, ZADD 每次只能添加一個元素。
redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 1 "uno"
(integer) 1
redis> ZADD myzset 2 "two" 3 "three"
(integer) 2
複製代碼
被成功添加的新成員的數量,不包括那些被更新的、已經存在的成員。
Redis Zcount 命令用於計算有序集合中指定分數區間的成員數量。
redis 127.0.0.1:6379> ZCOUNT myzset 1 3
(integer) 4
複製代碼
分數值在 min 和 max 之間的成員的數量。
Redis Zrange 返回有序集中,指定區間內的成員。
其中成員的位置按分數值遞增(從小到大)來排序。
具備相同分數值的成員按字典序(lexicographical order )來排列。
若是你須要成員按
值遞減(從大到小)來排列,請使用 ZREVRANGE 命令。
下標參數 start 和 stop 都以 0 爲底,也就是說,以 0 表示有序集第一個成員,以 1 表示有序集第二個成員,以此類推。
你也可使用負數下標,以 -1 表示最後一個成員, -2 表示倒數第二個成員,以此類推。
redis 127.0.0.1:6379> ZRANGE salary 0 -1 WITHSCORES # 顯示整個有序集成員
1) "jack"
2) "3500"
3) "tom"
4) "5000"
5) "boss"
6) "10086"
複製代碼
指定區間內,帶有分數值(可選)的有序集成員的列表。
Redis Zrevrange 命令返回有序集中,指定區間內的成員。
其中成員的位置按分數值遞減(從大到小)來排列。
具備相同分數值的成員按字典序的逆序(reverse lexicographical order)排列。
除了成員按分數值遞減的次序排列這一點外, ZREVRANGE 命令的其餘方面和 ZRANGE 命令同樣。
redis 127.0.0.1:6379> ZRANGE salary 0 -1 WITHSCORES # 遞增排列
1) "peter"
2) "3500"
3) "tom"
4) "4000"
5) "jack"
6) "5000"
redis 127.0.0.1:6379> ZREVRANGE salary 0 -1 WITHSCORES # 遞減排列
1) "jack"
2) "5000"
3) "tom"
4) "4000"
5) "peter"
6) "3500"
複製代碼
指定區間內,帶有分數值(可選)的有序集成員的列表。
Redis Zscore 命令返回有序集中,成員的分數值。 若是成員元素不是有序集 key 的成員,或 key 不存在,返回 nil 。
redis 127.0.0.1:6379> ZSCORE salary peter # 注意返回值是字符串
"3500"
複製代碼
成員的分數值,以字符串形式表示。