redis 的配置檔案位於 redis 安裝目錄下,檔名為redis.conf
。
可以通過 config 命令檢視配置項。
redis 127.0.0.1:6379> config get config_setting_name
如:
redis 127.0.0.1:6379> config get loglevel 1)
"loglevel"
2)"notice"
通過修改 redis.conf 檔案或使用 config set 命令來修改配置
redis 127.0
.0.1
:6379
> config set config_setting_name new_config_value
如:
redis 127.0.0.1:6379> config set loglevel "notice"
okredis 127.0.0.1:6379> config get loglevel 1)
"loglevel"
2)"notice"
各配置項說明:命令含義
redis-cli -h host -p port -a password
連線遠端 redis 服務
keys *
遍歷所有key
keys [pattern]
遍歷模式下所有的key
move key db
將當前資料庫的 key 移動到給定的資料庫 db 當中
randomkey
從當前資料庫中隨機返回乙個 key
rename key newkey
修改 key 的名稱
dbsize
計算redis中所有key的總數
exists key
判斷乙個key是否存在
del key [key…]
刪除指定的key-value
expire key seconds
設定key的過期時間,多少seconds後過期
ttl key
檢視key剩餘的過期時間
persist key
去掉key的過期時間
type key
# 返回key的型別
127.0.0.1:6379>
set hello world
ok127.0.0.1:6379>
set php good
ok127.0.0.1:6379>
set python best
ok127.0.0.1:6379> keys * # 檢視redis中所有的key
1)"hello"
2)"python"
3)"php"
127.0.0.1:6379> dbsize # 檢視redis中key的總數
(integer) 3
127.0.0.1:6379> keys p* # 檢視redis中以p開頭的所有的key
1)"python"
2)"php"
127.0.0.1:6379>
set perl aaa
ok127.0.0.1:6379>
set c++ bbb
ok127.0.0.1:6379> keys p* # 檢視redis中所有的key
1)"python"
2)"php"
3)"perl"
127.0.0.1:6379> dbsize # 檢視redis中key的總數
(integer) 5
127.0.0.1:6379> mset k1 v1 k2 v2 k3 v3 k4 v4
ok127.0.0.1:6379> dbsize # 檢視redis中key的總數
(integer) 9
增刪:
127.0.0.1:6379>
set k1 v1
ok127.0.0.1:6379>
set k2 v2
ok127.0.0.1:6379> exists k1 # 判斷k1是否存在
(integer) 1
127.0.0.1:6379> exists k2 # 判斷k2是否存在
(integer) 1
127.0.0.1:6379> del k1 # 刪除k1這個鍵值對
(integer) 1
127.0.0.1:6379> exists k1 # 判斷k1是否存在,0表示不存在
(integer) 0
127.0.0.1:6379> exists k2 # 判斷k2是否存在,1表示key存在
(integer) 1
127.0.0.1:6379>
set a1 b1
ok127.0.0.1:6379>
set a2 b2
ok127.0.0.1:6379> del a1 a2 # 刪除a1和a2鍵值對
(integer) 2
過期時間和ttl:
127.0.0.1:6379>
set hello world
ok127.0.0.1:6379> expire hello 20
(integer) 1 # 設定hello這個key的過期時間為20秒
127.0.0.1:6379> ttl hello
(integer) 17 # 還有17秒過期
127.0.0.1:6379> ttl hello
(integer) 11 # 還有11秒過期
127.0.0.1:6379> get hello
"world"
127.0.0.1:6379> ttl hello
(integer) 5 # 還有5秒過期
127.0.0.1:6379> ttl hello
(integer) -2 # -2表示key已經不存在了
127.0.0.1:6379>
set hello world
ok127.0.0.1:6379> expire hello 20
(integer) 1 # 設定hello這個key的過期時間為20秒
127.0.0.1:6379> ttl hello
(integer) 15 # 還有15秒過期
127.0.0.1:6379> persist hello
(integer) 1 # 刪除hello的過期時間
127.0.0.1:6379> ttl hello
(integer) -1 # -1表示key存在,並且沒有過期時間
127.0.0.1:6379> get hello
"world"
redis每種資料結構及對應的內部實現如下圖所示
注:redis採用了單執行緒的epoll非同步非阻塞模型,一次只執行一條命令。
應拒絕長(慢)命令:
Redis通用命令
五種資料型別的資料的結構差異所以命令也不盡相同,但是還是有一些相通的命令。所以此處先介紹下通用命令 在redis中,預設一共有16個資料庫,編號為0 15,正常情況下,使用者登入成功後,首先看到的是0號庫,可以手動切換為其他庫,使用select 命令切換 set命令用於建立k v對 del命令用於當...
Redis 全域性通用命令整理
1.檢視所有鍵 keys 2.檢視鍵總數 dbsize dbsize命令會返回當前資料庫中鍵的總數。dbsize命令在計算鍵總數時不會遍歷所有鍵,而是直接獲取redis內建的鍵總數變數,所以dbsize命令的時間複雜度是o 1 而keys命令會遍歷所有鍵,所以它的時間複雜度是o n 當redis儲存...
02 redis通用命令操作
set hi hello 設定值 get hi 獲取值 keys 查詢出所有的key memcached 不能查詢出所有的key keys h 模糊查詢key keys h ie 模糊查詢 keys o?e 通配單個字元 randomkey 隨機key type age 查詢出是啥型別 exists...