1.使用客戶端連線redis服務,需要有乙個redis客戶端
$ redis-cli -h host -p port -a password
如果是本地的redis服務可以直接使用命令,預設本地 6379埠
$ redis-cli
2.多個redis例項(多庫)
設定資料庫個數
127.0.0.1:6379> config set databases 8
查詢資料庫個數
127.0.0.1:6379> config get databases
切換資料庫(選擇資料庫6,預設連線資料庫0)
127.0.0.1:6379> select 6
3.redis對key的操作
del 刪除指定key(刪除key1)
127.0.0.1:6379[1]> del key1
(integer) 1
dump 序列化給定 key ,並返回被序列化的值
127.0.0.1:6379[1]> dump key1
"\x00\xc0\x0b\a\x00/\x95\xc2x/5\xa4u"
exists 查詢指定key是否存在
127.0.0.1:6379[1]> exists key1
(integer) 1
keys 查詢所有符合給定模式( pattern)的 key
127.0.0.1:6379[1]> keys *key*
1) "key1"
expire 設定key的過期時間
127.0.0.1:6379[1]> expire key1 20
(integer) 1
20秒後再查詢,key1已被刪除
move 移動key到其他庫(移動key1 到資料庫2)
127.0.0.1:6379[1]> move key1 2
(integer) 1
type 查詢key所儲存的值的型別
127.0.0.1:6379[1]> type key1
string
4.redis支援的資料型別(字串string,雜湊hash,列表list,集合set,有序集合sorted set)
4.1 字串string相關命令
set 設定指定key值
127.0.0.1:6379[1]> set key1 value1
okget 獲取指定key值
127.0.0.1:6379[1]> get key1
"value1"
getrange 返回指定key的子字串
127.0.0.1:6379[1]> getrange key1 0 2
"val"
mset 設定多個key-value
127.0.0.1:6379[1]> mset key4 value4 key5 value5
okmget 獲取多個給定key值對應的value
127.0.0.1:6379[1]> mget key1 key2
1) "value1"
2) "value2"
setnx 只有在 key 不存在時設定 key 的值(key1存在不儲存)
127.0.0.1:6379[1]> setnx key1 11
(integer) 0
strlen
返回 key 所儲存的字串值的長度
127.0.0.1:6379[1]> strlen key1
(integer) 6
incr
將 key 中儲存的數字值增一
127.0.0.1:6379[1]> get key3
"1"127.0.0.1:6379[1]> incr key3
(integer) 2
incrby 將 key 所儲存的值加上給定的增量值(increment)
127.0.0.1:6379[1]> get key3
"2"127.0.0.1:6379[1]> incrby key3 2
(integer) 4
decr 將 key 中儲存的數字值減一
127.0.0.1:6379[1]> get key3
"4"127.0.0.1:6379[1]> decr key3
(integer) 3
decrby key 所儲存的值減去給定的減量值(decrement)
127.0.0.1:6379[1]> get key3
"3"127.0.0.1:6379[1]> decrby key3 2
(integer) 1
(integer) 9
127.0.0.1:6379[1]> get key1
"value1aaa"
4.2 雜湊hash相關命令
redis hash 是乙個string型別的field和value的對映表,hash特別適合用於儲存物件,以使用者物件 為例,user
hmset 儲存:
127.0.0.1:6379[1]> hmset user name "lgy" age 25
okhset 修改其中乙個屬性(age)
127.0.0.1:6379[1]> hset user age 26
(integer) 0
hgetall 查詢:
127.0.0.1:6379[1]> hgetall user
1) "name"
2) "lgy"
3) "age"
4) "26"
hget 查詢其中乙個屬性(name):
127.0.0.1:6379[1]> hget user name
"lgy"
hmget 查詢多個屬性(name和age):
127.0.0.1:6379[1]> hmget user name age
1) "lgy"
2) "26"
hkeys 獲取所有屬性
127.0.0.1:6379[1]> hkeys user
1) "name"
2) "age"
hlen 獲取屬性個數
127.0.0.1:6379[1]> hlen user
(integer) 2
hincrby 給age增加3
127.0.0.1:6379[1]> hincrby user age 3
(integer) 29
給age減少3,和string不同,沒有找到減少的命令,不過可以使用增加-3來實現
hsetnx 插入不存在的屬性,如果存在不插入(name存在,***不存在)
127.0.0.1:6379[1]> hsetnx user name ligy
(integer) 0
127.0.0.1:6379[1]> hsetnx user *** man
(integer) 1
hdel 刪除乙個或多個屬性(刪除***,age)
127.0.0.1:6379[1]> hdel user *** age
(integer) 2
127.0.0.1:6379[1]> hkeys user
1) "name"
剩餘三種型別沒用過就不寫了
4.3 列表list相關命令
4.4 集合set相關命令
4.5 有序集合sorted set 相關命令
Redis命令詳解 Hashs
hash是一種string型別的field value的對映表,因此,它非常適合儲存物件。下面我們來一一介紹與hash相關的命令。hdel 最早可用版本 2.0.0 時間複雜度 o n 其中n為要刪除的field的個數 hdel命令用於刪除指定key的指定的乙個或多個field。如果指定的field...
Redis命令詳解 Hashs
hash是一種string型別的field value的對映表,因此,它非常適合儲存物件。下面我們來一一介紹與hash相關的命令。hdel 最早可用版本 2.0.0 時間複雜度 o n 其中n為要刪除的field的個數 hdel命令用於刪除指定key的指定的乙個或多個field。如果指定的field...
Redis命令詳解 HyperLogLog
hyperloglog是redis的高階資料結構,它在做基數統計的時候非常有用,每個hyperloglog的鍵可以計算接近264不同元素的基數,而大小只需要12kb。hyperloglog目前只支援3個命令,pfadd pfcount pfmerge。我們先來逐一介紹一下。pfadd 最早可用版本 ...