Redis學習筆記-常用命令篇(Centos7)


  redis提供了豐富的命令,這些命令可以在linux終端使用。在各類語言中,這些命令都有對應的方法。

一、鍵值相關

1、keys

  返回滿足給定pattern的所有key

127.0.0.1:6379> keys *
 1) "key1"
 2) "num"
 3) "list"
 4) "qq"
 5) "key2"
 6) "key3"
 7) "hashkey"
 8) "setkey"
 9) "listkey2"
10) "num2"
11) "num1"
12) "listkey"
13) "listkey1"
14) "key5"
15) "test"
16) "name"
17) "zsetkey"
18) "setkey-1"
19) "setkey-2"
20) "num3"
21) "key4"
22) "num4"
127.0.0.1:6379> keys num*
1) "num"
2) "num2"
3) "num1"
4) "num3"
5) "num4"

2、exists

  確認key是否存在

127.0.0.1:6379> exists name
(integer) 1
127.0.0.1:6379> exists key
(integer) 0

 3、del

  刪除一個key

127.0.0.1:6379> exists qq
(integer) 1
127.0.0.1:6379> del qq
(integer) 1
127.0.0.1:6379> exists qq
(integer) 0

4、expire

  設置一個key的過期時間(單位為秒)

127.0.0.1:6379> ttl name
(integer) -1
127.0.0.1:6379> expire name 10
(integer) 1
127.0.0.1:6379> ttl name
(integer) 8
127.0.0.1:6379> ttl name
(integer) 5
127.0.0.1:6379> ttl name
(integer) 0
127.0.0.1:6379> ttl name
(integer) -2
127.0.0.1:6379> get name
(nil)

5、move

  將當前數據庫中的key轉移到其它數據庫中

127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> get test
(nil)
127.0.0.1:6379[1]> select 0
OK
127.0.0.1:6379> get test
"redis test"
127.0.0.1:6379> move test 1
(integer) 1
127.0.0.1:6379> get test
(nil)
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> get test
"redis test"

6、persist

  移除給定key的過期時間

127.0.0.1:6379> ttl list
(integer) -1
127.0.0.1:6379> expire list 300
(integer) 1
127.0.0.1:6379> ttl list
(integer) 296 
127.0.0.1:6379> persist list
(integer) 1
127.0.0.1:6379> ttl list
(integer) -1

7、randomkey

  隨機返回一個key

127.0.0.1:6379> randomkey 
"num"
127.0.0.1:6379> randomkey 
"key5"
127.0.0.1:6379> randomkey 
"num3"

8、rename/renamenx

  重命名key

127.0.0.1:6379> rename list list-new
OK
127.0.0.1:6379> exists list
(integer) 0
127.0.0.1:6379> exists list-new
(integer) 1
127.0.0.1:6379> keys list*
1) "listkey2"
2) "list-new"
3) "listkey"
4) "listkey1"
127.0.0.1:6379> rename listkey listkey1
OK
127.0.0.1:6379> exists listkey
(integer) 0
127.0.0.1:6379> exists listkey1
(integer) 1
127.0.0.1:6379> renamenx listkey1 listkey2
(integer) 0
127.0.0.1:6379> renamenx listkey1 listkey3
(integer) 1

9、type

  返回值的類型

127.0.0.1:6379> type num
string
127.0.0.1:6379> type list-new
list
127.0.0.1:6379> type hashkey
hash
127.0.0.1:6379> type setkey
set
127.0.0.1:6379> type zsetkey
zset

二、服務器相關

1、ping

  測試是否正常連接

127.0.0.1:6379> ping
PONG
127.0.0.1:6379> ping aaa
"aaa"
# 關閉redis服務器
127.0.0.1:6379> shutdown
Could not connect to Redis at 127.0.0.1:6379: Connection refused
# 開啟服務器
not connected> ping aaa
"aaa"
127.0.0.1:6379> ping
PONG

2、echo

  打印內容

127.0.0.1:6379> echo message
"message"
127.0.0.1:6379> echo ping
"ping"

3、select

  選擇數據庫,redis數據庫編號范圍是0~15,默認登錄0

127.0.0.1:6379> select  1
OK
127.0.0.1:6379[1]> select  15
OK
127.0.0.1:6379[15]> select  16
(error) ERR invalid DB index
127.0.0.1:6379[15]> select  0
OK

4、quie/exit

  退出連接。

[root@localhost ~]# redis-cli
127.0.0.1:6379> quit
[root@localhost ~]#
[root@localhost ~]# redis-cli
127.0.0.1:6379> exit
[root@localhost ~]#

5、dbsize

  返回當前數據庫中key的數量

127.0.0.1:6379> dbsize
(integer) 18

6、info

  獲取服務器的信息和統計

127.0.0.1:6379> info
# Server
redis_version:3.2.5
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:75f5eeeebaabc5a4
redis_mode:standalone
os:Linux 3.10.0-229.el7.x86_64 x86_64
arch_bits:64
multiplexing_api:epoll
...
...
...
...
127.0.0.1:6379> 

7、monitor

  實時顯示收到的請求

127.0.0.1:6379> monitor
OK
# 有客戶端進行連接
1481013661.020891 [0 127.0.0.1:52881] "COMMAND"
# 客戶端執行的命令
1481013672.994979 [0 127.0.0.1:52881] "keys" "*"
1481013695.957605 [0 127.0.0.1:52881] "get" "name"
1481013704.682609 [0 127.0.0.1:52881] "set" "name" "linux"

 8、config get

  獲取服務器配置信息。

127.0.0.1:6379> config get dir
1) "dir"
2) "/usr/local/redis/6379"

9、flushdb

  刪除當前數據庫中所有的key

127.0.0.1:6379> dbsize
(integer) 19
127.0.0.1:6379> flushdb
OK
127.0.0.1:6379> dbsize
(integer) 0

10、flushall

  刪除所有數據庫中的所有key

127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> dbsize
(integer) 1
127.0.0.1:6379[1]> select 0
OK
127.0.0.1:6379> dbsize
(integer) 4
127.0.0.1:6379> flushall
OK
127.0.0.1:6379> dbsize
(integer) 0
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> dbsize
(integer) 0

三、安全相關

  因為各種安全的原因,我們可能想要對數據庫設置密碼。

  修改配置文為以下的語句:

requirepass foobared

  使用系統默認的密碼“foobared”。注意:因為redis數據庫速度相當快,可以做到1秒150K次的密碼嘗試,所以實際使用時需要設置足夠強大的密碼。

  重新啟動數據庫。然后再用數據庫連接操作時,就會發生下面的情況:

127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.

  如果想要操作需要輸入口令

127.0.0.1:6379> auth foobared
OK
127.0.0.1:6379> keys *
1) "name"

  我們還可以在連接服務器的時候就指定口令:

[root@localh ~]# redis-cli -a foobared
127.0.0.1:6379> keys *
1) "name"
127.0.0.1:6379> 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM