redis學習-redis常用指令
阿新 • • 發佈:2020-08-06
前言
前面學習了redis的五種基本資料型別和每種資料型別常用的一些方法,今天來學習一下五種基本資料型別以外的常用命令。
-
keys
keys pattern 用於顯示符合條件的額key,可以使用*萬用字元篩選。
127.0.0.1:6379> keys * 1) "zset1" 2) "set1" 3) "set2" 4) "list1" 5) "list2" 127.0.0.1:6379> keys list* 1) "list1" 2) "list2" 127.0.0.1:6379> keys zset1 1) "zset1"
-
exists
exists key [key ... ]用於判定key是否存在。
-
expire
expire key seconds 用於設定key的過期時間。
-
ttl
ttl key 用於檢視key的剩餘有效時間,未設定過期時間則返回-1,設定過期時間返回剩餘有效時間,已過期返回-2。
-
persist
取消過期時間設定。
// 判定key是否存在 127.0.0.1:6379> exists set1 (integer) 1 // 設定過期時間為100 127.0.0.1:6379> expire set1 100 (integer) 1 // 檢視過期時間 127.0.0.1:6379> ttl set1 (integer) 96 // 檢視未設定過期時間的key,返回-1 127.0.0.1:6379> ttl list1 (integer) -1 // 檢視剩餘過期時間,返回剩餘過期時間 127.0.0.1:6379> ttl set1 (integer) 32 127.0.0.1:6379> ttl set1 (integer) 4 127.0.0.1:6379> ttl set1 (integer) -2 // 已過期返回 -2 127.0.0.1:6379> ttl set1 (integer) -2
-
select
select index 用於切換資料庫,redis有0-15,共16個數據庫,預設資料庫為0。redis3.x版本引入叢集以前,為了維護資料的安全和備份資料的需要,劃分了16個數據庫,儲存在不同的伺服器(分片技術),用以確保資料安全。
-
move
move key db用於將指定key移至指定資料庫。
// 前面的預設資料存放在0號資料庫 127.0.0.1:6379> select 0 OK 127.0.0.1:6379> keys * 1) "zset1" 2) "set2" 3) "list1" 4) "list2" // 切庫並檢視資料為空 127.0.0.1:6379> select 1 OK 127.0.0.1:6379[1]> keys * (empty list or set) // 將資料庫0中的zset1移至資料庫1 127.0.0.1:6379[1]> select 0 OK 127.0.0.1:6379> move zset1 1 (integer) 1 127.0.0.1:6379> keys zset1 (empty list or set) 127.0.0.1:6379> select 1 OK 127.0.0.1:6379[1]> keys zset1 1) "zset1"
-
randomkey
隨機返回一個key(想不到有什麼用途?)。
127.0.0.1:6379[1]> select 0 OK 127.0.0.1:6379> randomkey "list1" 127.0.0.1:6379> randomkey "list1" 127.0.0.1:6379> randomkey "list2"
-
rename
rename key newkey 重新命名。
127.0.0.1:6379> keys * 1) "set2" 2) "list1" 3) "list2" 127.0.0.1:6379> rename list1 list0 OK 127.0.0.1:6379> keys * 1) "list0" 2) "set2" 3) "list2"
-
echo
輸出列印。
-
dbsize
獲取db中資料的個數。
-
info
info section返回當前資料庫的資訊。
-
config get
返回配置資訊。
-
flunshdb/flushall
清空(當前)資料庫/清空所有庫。
127.0.0.1:6379> echo 123 "123" 127.0.0.1:6379> dbsize (integer) 3 127.0.0.1:6379> info # Server redis_version:5.0.5 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:84ff8fdea17c09ed redis_mode:standalone ... ... 127.0.0.1:6379> config get * 1) "dbfilename" 2) "dump.rdb" 3) "requirepass" 4) "" 5) "masterauth" 6) "" 7) "cluster-announce-ip" 8) "" 127.0.0.1:6379> keys * 1) "list0" 2) "set2" 3) "list2" 127.0.0.1:6379> flushdb OK 127.0.0.1:6379> keys * (empty list or set) 127.0.0.1:6379> select 1 OK 127.0.0.1:6379[1]> keys * 1) "zset1" // 清空所有資料,info檢視keyspace可以看到所有資料庫均無資料 127.0.0.1:6379[1]> select 0 OK 127.0.0.1:6379> flushall 127.0.0.1:6379> info ... ... # Keyspace