重新命名鍵
127.0.0.1:6379> get test
"test1"
127.0.0.1:6379> rename test newtest
ok127.0.0.1:6379> get test
(nil)
127.0.0.1:6379> get newtest
"test1"
如果原來的key已經存在,則會覆蓋已經存在的值
127.0.0.1:6379> get test3
"3"127.0.0.1:6379> rename newtest test3
ok127.0.0.1:6379> get test3
"test1"
127.0.0.1:6379> get newtest
(nil)
renamenx 原來的key不存在才會重新命名成功
127.0.0.1:6379> set test4 112121kk
ok127.0.0.1:6379> renamenx test3 test4
(integer) 0
127.0.0.1:6379> dbsize
(integer) 13
127.0.0.1:6379> randomkey
"test_inter"
127.0.0.1:6379> expire test4 600
(integer) 1
127.0.0.1:6379> ttl test4
(integer) 592
127.0.0.1:6379> expire test4 -2
(integer) 1
127.0.0.1:6379> ttl test4
(integer) -2
127.0.0.1:6379> persist test4
(integer) 0
127.0.0.1:6379> ttl test4
(integer) -2
遷移:
move key db
用於redis內部多個資料庫之間的遷移
dump與restore
dump key (可以正則)
restore key ttl value
可以在不同例項間遷移
dump會將鍵值序列化,使用rdb格式
restore反序列化匯入redis, ttl=0 時表示沒有過期時間
dump test3
作業系統中檢視到如下檔案:
-rw-r--r-- 1 root root 91 apr 22 09:40 dump.rdb
127.0.0.1:6379> dump test3
"\x00\x05test1\a\x00\xdf\xfam5\xb8q?["
127.0.0.1:6379> restore test4 0 "\x00\x05test1\a\x00\xdf\xfam5\xb8q?["
ok127.0.0.1:6379>
127.0.0.1:6379> get test4
"test1"
migrate遷移
migrate 用於例項間的遷移, 實際就是將dump restore del進行組合,整個過程是原子性的,
直接在源和目標redis上進行,不需要開啟客戶端, 遷移restore完成後,發生ok訊息,來判斷是否進行del操作
migrate host port key| destination-db timeout [copy] [replace] [keys key]
遍歷:keys 正則
例如keys *
keys test*
當使用keys * 時可能會造成阻塞
scan提供一種非阻塞的漸進式遍歷方式, 缺點就是資料可能不準確
127.0.0.1:6379> scan 0
1) "11"
2) 1) "testm2"
2) "count"
3) "test4"
4) "counter:__rand_int__"
5) "test2"
6) "key:__rand_int__"
7) "test3"
8) "test1"
9) "myset:__rand_int__"
10) "testm"
127.0.0.1:6379>
127.0.0.1:6379> scan 11
1) "0"
2) 1) "test_inter"
2) "user"
3) "mylist"
127.0.0.1:6379>
切換db
select dbindex db序列號
如select 2
清除db資料
flushdb
該命令只清除當前db的資料
flushall
清除所有db的資料
redis管理命令 info
server 一般 redis 伺服器資訊,包含以下域 redis version redis 伺服器版本 redis git sha1 git sha1 redis git dirty git dirty flag os redis 伺服器的宿主作業系統 arch bits 架構 32 或 64 ...
Redis管理key命令
1 del key 該命令用於在 key 存在時刪除 key。2 dump key 序列化給定 key 並返回被序列化的值。3 exists key 檢查給定 key 是否存在。4 expire key seconds 為給定 key 設定過期時間。5 expireat key timestamp ...
Redis常用的命令
啟動 redis 服務 src redis server或者src redis server redis.conf src redis server redis.conf 1 log.log 2 errlog.log 1為標準輸出,2為錯誤輸出 將 redis 作為 linux 服務隨機啟動 vi ...