Redis日常運維-常用命令彙總

chenoracle發表於2020-07-11

●目錄●

一 檢視redis是否啟動
二 啟動redis
三 連線redis
四 選擇資料庫
五 string操作方法
六 雜湊(Hash)操作方法
七 Redis 列表(List)
八 Redis 集合(Set)
九 Redis 有序集合(sorted set)

●內容●

一 檢視redis是否啟動

[redis@cjcos01 src]$ ps -ef|grep redis
redis      2156      1  0 17:47 ?        00:00:00 ./redis-server 0.0.0.0:6379

二 啟動redis

[redis@cjcos01 src]$ pwd
/usr/local/redis/src
[redis@cjcos01 src]$ ./redis-server ../conf/redis.conf

三 連線redis

[redis@cjcos01 ~]$ redis-cli --help
[redis@cjcos01 ~]$ redis-cli 
[redis@cjcos01 ~]$ redis-cli -h 192.168.30.100 -p 6379
[redis@cjcos01 ~]$ redis-cli -h 192.168.30.100 -p 6379 --raw

四 選擇資料庫

安裝完redis後預設建立16個資料庫(0-15),預設登入的是0號資料庫

192.168.30.100:6379> select 0
OK
192.168.30.100:6379> select 1
OK
192.168.30.100:6379[1]> select 5
OK
192.168.30.100:6379[5]> select 15
OK
192.168.30.100:6379[15]> select 16
ERR DB index is out of range

五 string操作方法

Redis 字串資料型別的相關命令用於管理 redis 字串值

5.1 新增

192.168.30.100:6379> set name cjc
OK

5.2 查詢

192.168.30.100:6379> get name
cjc

5.3 修改

192.168.30.100:6379> set name chenjch

5.4 修改同時返回舊值

192.168.30.100:6379> getset name chenjch
cjc
192.168.30.100:6379> get name
chenjch

5.5 返回字串長度

192.168.30.100:6379> strlen name
7

5.6 將key中儲存的數字值加一(可用於點贊計數等)

192.168.30.100:6379> get age
18
192.168.30.100:6379> incr age
19
192.168.30.100:6379> incr age
20
192.168.30.100:6379> incr age
21
192.168.30.100:6379> incr age
22
192.168.30.100:6379> incr age
23

5.7 將key中儲存的數字值加指定的值

192.168.30.100:6379> incrby age 5
28

5.8 將key中儲存的數字值減一

192.168.30.100:6379> decr age
22
192.168.30.100:6379> decr age
21
192.168.30.100:6379> decr age
20

5.9 將key中儲存的數字值減掉指定的值

192.168.30.100:6379> decrby age 2
18

5.10 如果key 已經存在並且是一個字串, APPEND 命令將指定的 value 追加到該 key 原來值(value)的末尾。

192.168.30.100:6379> get name
chenjch
192.168.30.100:6379> append name cjc
10
192.168.30.100:6379> get name
chenjchcjc

5.11 刪除 

192.168.30.100:6379> del name
1

5.12 檢視當前資料庫所有key(生產環境謹慎使用)

192.168.30.100:6379> keys *
name
age

5.13 清空當前資料庫(生產環境謹慎使用)

192.168.30.100:6379> flushdb
OK

5.14 清空所有資料庫(生產環境謹慎使用)

192.168.30.100:6379> flushall
OK

5.15 設定值及值得過期時間

192.168.30.100:6379> setex name 10 chenjch
OK

5.16 檢視過期時間(預設-1,表示永不過期)

192.168.30.100:6379> ttl name
3

5.17 修改過期時間

192.168.30.100:6379> expire name 100
1
192.168.30.100:6379> ttl name
96

5.18 批次新增值

192.168.30.100:6379> mset name cjc age 18 sex male
OK
192.168.30.100:6379> keys *
name
sex
age

5.19 批次查詢值

192.168.30.100:6379> mget age sex name
18
male
cjc

六 雜湊(Hash)操作方法

Redis hash 是一個 string 型別的 field 和 value 的對映表,hash 特別適合用於儲存物件。

Redis 中每個 hash 可以儲存 2^23 - 1 鍵值對(40多億)。

七 Redis 列表(List)

Redis列表是簡單的字串列表,按照插入順序排序。你可以新增一個元素到列表的頭部(左邊)或者尾部(右邊)。

一個列表最多可以包含 2^32 - 1 個元素 (4294967295, 每個列表超過40億個元素)。

7.1 建立list資料

192.168.30.100:6379> lpush ckey redis
1
192.168.30.100:6379> lpush ckey mongodb
2
192.168.30.100:6379> lpush ckey mysql
3
192.168.30.100:6379> lpush ckey oracle
4
192.168.30.100:6379> lpush ckey db2
5

7.2 查詢list資料

192.168.30.100:6379> lrange ckey 0 100
db2
oracle
mysql
mongodb
redis
192.168.30.100:6379> lrange ckey 1 2
oracle
mysql

7.3 獲取列表長度

192.168.30.100:6379> llen ckey
5

7.4 將一個或多個值插入到列表頭部

192.168.30.100:6379> lpush ckey sqlserver
6
192.168.30.100:6379> lrange ckey 0 100
sqlserver
db2
oracle
mysql
mongodb
redis

7.5 移除列表的最後一個元素,返回值為移 除的元素

192.168.30.100:6379> rpop ckey
redis
192.168.30.100:6379> lrange ckey 0 100
sqlserver
db2
oracle
mysql
mongodb

八 Redis 集合(Set)

Redis 的 Set 是 String 型別的無序集合。集合成員是唯一的,這就意味著集合中不能出現重複的資料。

Redis 中集合是透過雜湊表實現的,所以新增,刪除,查詢的複雜度都是 O(1)。

新增,自動去重

192.168.30.100:6379> sadd cjckey redis
1
192.168.30.100:6379> sadd cjckey mongodb
1
192.168.30.100:6379> sadd cjckey mysql
1
192.168.30.100:6379> sadd cjckey oracle
1
192.168.30.100:6379> sadd cjckey oracle
192.168.30.100:6379> sadd cjckey mysql
0

檢視集合,去重,無序

192.168.30.100:6379> smembers cjckey
mysql
redis
mongodb
oracle

九 Redis 有序集合(sorted set)

Redis 有序集合和集合一樣也是string型別元素的集合,且不允許重複的成員。

不同的是每個元素都會關聯一個double型別的分數。redis正是透過分數來為集合中的成員進行從小到大的排序。

有序集合的成員是唯一的,但分數(score)卻可以重複。

192.168.30.100:6379> zadd chenjchkey 1 redis
1
192.168.30.100:6379> zadd chenjchkey 2 mongodb
1
192.168.30.100:6379> zadd chenjchkey 3 mysql
1
192.168.30.100:6379> zadd chenjchkey 4 db2
1
192.168.30.100:6379> zadd chenjchkey 5 oracle
1
192.168.30.100:6379> zadd chenjchkey 6 redis
192.168.30.100:6379> zadd chenjchkey 6 tidb
1
192.168.30.100:6379> zadd chenjchkey 6 gbase
1

檢視

192.168.30.100:6379> zrange chenjchkey 0 100
mongodb
mysql
db2
oracle
gbase
redis
tidb

192.168.30.100:6379> zrange chenjchkey 0 100 withscores
mongodb
2
mysql
3
db2
4
oracle
5
gbase
6
redis
6
tidb
6

歡迎關注我的微信公眾號"IT小Chen",共同學習,共同成長!!

Redis日常運維-常用命令彙總


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29785807/viewspace-2703930/,如需轉載,請註明出處,否則將追究法律責任。

相關文章