Redis 配置項及通用命令

2021-09-25 02:33:56 字數 3850 閱讀 1464

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...