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>
