環境:redis-5.0.3,centos605正則表達式
數據類型 | 存儲 | 說明 |
---|---|---|
STRING | 字符串、整數或者浮點數 | 最基本的數據類型,能夠包含任意數據類型。 |
LIST | 列表 | 簡單的字符串列表,遲滯雙端操做 |
HASH | 包含鍵值對的無序散列表 | String 類型的無序集合 |
SET | 無序集合 | 元素無序惟一,哈希表實現 |
ZSET | 有序集合 | string類型元素的集合,每一個元素關聯一個double類型的分數,支持排序(sorted set),元素惟一,分數(score)能夠重複 |
一、啓動。默認端口:6379redis
redis-server redis-5.0.3/redis.conf
redis-cli
127.0.0.1:6379>ping
pong
複製代碼
二、set
,建立K-V對,默認爲值類型爲字符串sql
127.0.0.1:6379> set k1 v1
OK
複製代碼
三、get
,查詢,沒有返回nil數據庫
127.0.0.1:6379> get k1
"v1"
複製代碼
四、rename
,重命名centos
127.0.0.1:6379> rename k1 k0
OK
127.0.0.1:6379> get k1
(nil)
127.0.0.1:6379> get k0
"v1"
複製代碼
五、del
,刪除,返回影響的行數,不會報錯bash
127.0.0.1:6379> del k1
(integer) 1
127.0.0.1:6379> del k1
(integer) 0
複製代碼
六、dump
,序列化,不存在數據結構
127.0.0.1:6379> dump k1
"\x00\x02v1\t\x00\x8f\x17\xe1\x92\x9f\xd6\x1a\xea"
127.0.0.1:6379> dump k2
(nil)
複製代碼
七、exists
,是否存在,1有0無app
127.0.0.1:6379> exists k1
(integer) 1
127.0.0.1:6379> exists k2
(integer) 0
複製代碼
八、ttl
,獲取剩餘活躍時間(time to live),-1無過時時間,-2鍵不存在dom
127.0.0.1:6379> ttl k1
(integer) -1
127.0.0.1:6379> ttl k2
(integer) -2
複製代碼
九、expire
,設置剩餘有效時間/s,1爲設置成功,不存在返回0nosql
127.0.0.1:6379>
127.0.0.1:6379> expire k1 10
(integer) 1
127.0.0.1:6379> ttl k1
(integer) 8
127.0.0.1:6379> ttl k1
(integer) 5
127.0.0.1:6379> ttl k1
(integer) 3
127.0.0.1:6379> ttl k1
(integer) -2
127.0.0.1:6379> expire k2 10
(integer) 0
複製代碼
十、keys
,條件查詢,條件爲正則表達式,key *獲取全部鍵
127.0.0.1:6379> set k1 v1
OK
127.0.0.1:6379> set k2 v2
OK
127.0.0.1:6379> set k3 v3
OK
127.0.0.1:6379> set k4 v4
OK
127.0.0.1:6379> set k5 v5
OK
127.0.0.1:6379> keys *
1) "k3"
2) "k4"
3) "k5"
4) "k1"
5) "k2"
複製代碼
十一、randomkey
,隨機返回一個鍵
127.0.0.1:6379> randomkey
"k3"
127.0.0.1:6379> randomkey
"k2"
複製代碼
十二、謹慎使用,flushdb 清空數據庫,flushall 清空全部數據庫
學習下列命令時,可聯繫對比Java中類似對象類型的操做,便於記憶
命令 | 說明 | 正確返回 |
---|---|---|
strlen key | 獲取key的值的長度 | 鍵長度值 |
getset key value | 給定已存在的 k 設爲 v ,並返回 key 的舊值 | 原k-v對 |
mset k1 v1[k2 v2...] | 批次設置多個k-v對 | ok |
mget k1 [k2 k3..] | p批量獲取k的值 | value值 |
append k1 v99 | 追加值 | 現value的總長度 |
incrby number | 步長,增長,value值爲數字形式 | 增長後value值 |
decrby number | 減小 | j減小後value值 |
命令 | 說明 |
---|---|
lpush k1 v1[k2 v2...] | 將一個或多個值插入到列表頭部 |
rpush k1 v1[k2 v2...] | 將一個或多個值插入到列表尾部 |
lrange key start stop | 獲取列表指定範圍內的元素 |
llen key | 獲取列表長度 |
ltrim key start stop | 保留列表指定區間內的元素 |
blpop k1[k2] timeout | 移出並獲取列表的第一個元素, 若是無元素會阻塞,直到等待超時或有元素。 |
命令 | 說明 |
---|---|
hgetall | 獲取在哈希表中指定 key 的全部字段和值 |
hkeys | 獲取全部哈希表中的字段 |
hmset key field1 value1 [field2 value2 ] | 同時將多個 field-value (域-值)對設置到哈希表 key 中。 |
hdel key field1 [field2] | 刪除一個或多個哈希表字段 |
hincrby key field increment | 指定字段的整數值加上步長 |
命令 | 說明 |
---|---|
sadd key member1 [member2] | 向集合添加一個或多個成員 |
scard key | 獲取key集合的成員數 |
sismember key member | 判斷 member 元素是不是集合 key 的成員 |
spop key | 移除並返回集合中的一個隨機元素 |
srandmember key [count] | 返回集合中一個或多個隨機數 |
sinter k1[k2] | 返回全部集合的交集 |
sdiff k1[k2] | 返回全部集合的差集 |
命令 | 說明 |
---|---|
zcard key | 獲取有序集合的成員數 |
zadd key score1 member1 [score2 member2] | 向有序集合添加一個或多個成員,或者更新已存在成員的分數 |
zcount key min max | 統計集合中分數在min和max之間的元素個數 |
zscore key member | 獲取有序集合中元素對應的分數 |
zrank | 獲取元素在集合中的排名,從小到大,最小的是0 |
zrevrange key start stop [WITHSCORES] | 返回有序集中指定區間內的成員,經過索引,分數從高到底 |
zscan key cursor [MATCH pattern] [COUNT count] | 迭代有序集合中的元素 |
本文只舉了一些經常使用指令,更多命令請參考redis.io/commands