服務(wù)器端
服務(wù)器端命令
redis-server
查看幫助文檔
redis-server --help
啟動(dòng)
sudo server redis start
停止
sudo service redis stop
重啟
sudo service redis restart
也可以:
ps aux | grep redis 查看redis服務(wù)器進(jìn)程
sudo kill -9 pid 殺死redis服務(wù)器
sudo redis-server /etc/redis/redis.conf指定加載的配置文件
客戶端
客戶端命令
redis-cli
查看幫助文檔
redis-cli --help
連接redis
redis-cli
運(yùn)行測(cè)試命令
ping
切換數(shù)據(jù)庫(kù)
select n
Redis 支持五種數(shù)據(jù)類型
String字符串
Hash 字典
List列表
Set 集合
Zset 有序集合
保存
設(shè)置鍵值
set key value
設(shè)置鍵值及過(guò)期時(shí)間,以秒為單位
setex key 3 value
key不存在是設(shè)置key值
SETNX key value
修改值
SETRANGE key offset value
設(shè)置多個(gè)值
mset key1 value1 key2 value2 ...
追加值
append key value
獲取
獲?。焊鶕?jù)鍵獲取值,如果不存在此鍵則返回nil
get key
根據(jù)多個(gè)鍵獲取多個(gè)值
get key1 key2 ..
刪除
del key名稱
查找鍵
查找鍵,參數(shù)?持正則表達(dá)式
keys pattern
查看所有鍵
keys *
查看名稱中包含a的鍵
keys 'a*'
判斷鍵是否存在 如果存在返回1,不存在返回0
exists key1
隨機(jī)返回KEY
從當(dāng)前數(shù)據(jù)庫(kù)中隨機(jī)返回一個(gè) key 。
RANDOMKEY
查看鍵對(duì)應(yīng)的value的類型
type key
刪除鍵及對(duì)應(yīng)的值
del key1 key2 ...
設(shè)置過(guò)期時(shí)間,以秒為單位
如果沒(méi)有指定過(guò)期時(shí)間則?直存在,直到使?DEL移除
expire key seconds
查看有效時(shí)間,以秒為單位
ttl key
hash類型
hash?于存儲(chǔ)對(duì)象,對(duì)象的結(jié)構(gòu)為屬性、值
值的類型為string
設(shè)置單個(gè)屬性
hset key field value
設(shè)置多個(gè)屬性
hmset key field1 value1 field2 value2 ...
獲取指定鍵所有的屬性
hkeys key
獲取?個(gè)屬性的值
hget key field
獲取多個(gè)屬性的值
hmget key field1 field2 ...
刪除
刪除整個(gè)hash鍵及值,使?del命令
刪除屬性,屬性對(duì)應(yīng)的值會(huì)被?起刪除
hdel key field1 field2 ...
list類型
列表的元素類型為string
按照插?順序排序
- 插入
在左側(cè)插?數(shù)據(jù)
lpush key value1 value2 ...
在右側(cè)插?數(shù)據(jù)
rpush key value1 value2 ...
在指定元素的前或后插?新元素
linsert key before或after 現(xiàn)有元素 新元素
- 獲取
返回列表?指定范圍內(nèi)的元素
start、stop為元素的下標(biāo)索引
索引從左側(cè)開(kāi)始,第?個(gè)元素為0
索引可以是負(fù)數(shù),表示從尾部開(kāi)始計(jì)數(shù),如-1表示最后?個(gè)元素
lrange key start stop
- 設(shè)置指定索引位置的元素值
索引從左側(cè)開(kāi)始,第?個(gè)元素為0
索引可以是負(fù)數(shù),表示尾部開(kāi)始計(jì)數(shù),如-1表示最后?個(gè)元素
lset key index value
- 刪除
刪除指定元素
將列表中前count次出現(xiàn)的值為value的元素移除
count > 0: 從頭往尾移除
count < 0: 從尾往頭移除
count = 0: 移除所有
lrem key count value
- 其他操作命令
命令 及描述
1 BLPOP key1 [key2 ] timeout
移出并獲取列表的第一個(gè)元素, 如果列表沒(méi)有元素會(huì)阻塞列表直到等待超時(shí)或發(fā)現(xiàn)可彈出元素為止。
2 BRPOP key1 [key2 ] timeout
移出并獲取列表的最后一個(gè)元素, 如果列表沒(méi)有元素會(huì)阻塞列表直到等待超時(shí)或發(fā)現(xiàn)可彈出元素為止。
3 BRPOPLPUSH source destination timeout
從列表中彈出一個(gè)值,將彈出的元素插入到另外一個(gè)列表中并返回它; 如果列表沒(méi)有元素會(huì)阻塞列表直到等待超時(shí)或發(fā)現(xiàn)可彈出元素為止。
4 LINDEX key index
通過(guò)索引獲取列表中的元素
5 LINSERT key BEFORE|AFTER pivot value
在列表的元素前或者后插入元素
6 LLEN key
獲取列表長(zhǎng)度
7 LPOP key
移出并獲取列表的第一個(gè)元素
8 LPUSH key value1 [value2]
將一個(gè)或多個(gè)值插入到列表頭部
9 LPUSHX key value
將一個(gè)值插入到已存在的列表頭部
10 LRANGE key start stop
獲取列表指定范圍內(nèi)的元素
11 LREM key count value
移除列表元素
12 LSET key index value
通過(guò)索引設(shè)置列表元素的值
13 LTRIM key start stop
對(duì)一個(gè)列表進(jìn)行修剪(trim),就是說(shuō),讓列表只保留指定區(qū)間內(nèi)的元素,不在指定區(qū)間之內(nèi)的元素都將被刪除。
14 RPOP key
移除并獲取列表最后一個(gè)元素
15 RPOPLPUSH source destination
移除列表的最后一個(gè)元素,并將該元素添加到另一個(gè)列表并返回
16 RPUSH key value1 [value2]
在列表中添加一個(gè)或多個(gè)值
17 RPUSHX key value
為已存在的列表添加值
zset類型
sorted set,有序集合
元素為string類型
元素具有唯?性,不重復(fù)
每個(gè)元素都會(huì)關(guān)聯(lián)?個(gè)double類型的score,表示權(quán)重,通過(guò)權(quán)重將元素從?到?排序
說(shuō)明:沒(méi)有修改操作
增加
- 添加
zadd key score1 member1 score2 member2 ...
例1:向鍵'a4'的集合中添加元素'lisi'、'wangwu'、'zhaoliu'、'zhangsan',權(quán)重分別為4、5、6、3
zadd a4 4 lisi 5 wangwu 6 zhaoliu 3 zhangsan
- 獲取
返回指定范圍內(nèi)的元素
start、stop為元素的下標(biāo)索引
索引從左側(cè)開(kāi)始,第?個(gè)元素為0
索引可以是負(fù)數(shù),表示從尾部開(kāi)始計(jì)數(shù),如-1表示最后?個(gè)元素
zrange key start stop
例2:獲取鍵'a4'的集合中所有元素
zrange a4 0 -1
返回score值在min和max之間的成員
zrangebyscore key min max
返回成員member的score值
zscore key member
3.刪除
刪除指定元素
zrem key member1 member2 ...
刪除集合'a4'中元素'zhangsan'
zrem a4 zhangsan
刪除權(quán)重在指定范圍的元素
zremrangebyscore key min max