Redis 資料庫管理

2021-08-21 11:10:49 字數 1983 閱讀 9915

redis 提供了幾個面向資料庫的操作,分別是dbsize,select,flushdb/flushall

其實在乙個 redis 例項內部也是有多個資料庫的,與mysql等其他關係型資料庫不同的是,redis 內部的資料庫使用數字索引來標識,而不是像mysql那樣乙個例項中的資料庫是通過資料庫名稱來標識。

在 redis 中資料庫預設有16個,資料庫標識分別是0,1, …,15,我們預設使用的是0號資料庫,不同資料庫之間是隔離的,可以擁有同名的鍵。

1.dbsize檢視當前資料庫 key 的個數

127.0.0.1:6379> set name tom

ok127.0.0.1:6379> set score 99

ok127.0.0.1:6379> dbsize

(integer) 2

2.select切換資料

select命令格式為:select indexindex為資料庫的標識。舉例如下:

127.0.0.1:6379> set name tom

ok127.0.0.1:6379> set score 99

ok127.0.0.1:6379> select 8 // 切換到 8 號資料庫

ok127.0.0.1:6379[8]> get name //可以看出不同 db 是隔離的

(nil)

127.0.0.1:6379[8]> set name tom

ok127.0.0.1:6379[8]> get name

"tom"

3.flushdb/flushall清理資料庫

flushdbflushall的區別為:flushdb清空當前資料庫,而flushall清空所有資料庫。舉例如下:

127.0.0.1:6379> keys *

1) "score"

2) "name"

127.0.0.1:6379> select 8

ok127.0.0.1:6379[8]> keys *

1) "score"

2) "name"

127.0.0.1:6379[8]> flushdb

ok127.0.0.1:6379[8]> keys *

(empty list or set)

127.0.0.1:6379[8]> select 0

ok127.0.0.1:6379> keys *

1) "score"

2) "name"

127.0.0.1:6379> flushall

ok127.0.0.1:6379> keys *

(empty list or set)

目前 redis 對多資料庫的支援開始弱化了,因為 redis 是單執行緒架構,同一時間只有乙個cpu為 redis 服務,多個資料庫同時存在不僅不會利用系統的多核優勢,反而會由於單例項資源共享問題互相會有影響,導致出現問題時排錯非常困難,redis 例項如果一旦阻塞,那麼所有的資料庫都會受到影響。所以這是乙個很雞肋的功能,redis 官方對其支援也在逐步弱化。

更合理的方式是一台機器啟動多個 redis 例項,互相隔離,充分利用cpu的多核優勢。

資料庫 2 Redis管理基本操作

服客兩端基本命令 redis server.exe redis.windows.conf 使用配置啟動redis服務 redis cli stat a 123456 檢視服務狀態 redis cli.exe 開啟客戶端 redis cli help 檢視客戶端幫助 redis cli h 127.0...

MySQL資料庫 資料庫管理

建立使用者,指定明文密碼 create user rose localhost identified by rosepwd 檢視使用者是否建立成功 select user,host from mysql.user 建立使用者,不設定密碼 create user rose01 localhost se...

SQL資料庫 管理資料庫

建立完資料庫,如何對它進行管理呢?管理資料庫包括對資料庫修改大小 新增資料檔案或日誌檔案 分離和附加資料庫等,同樣有語句和ssms兩種方法。接下來主要展示用sql語句方法更改,用介面的方式只需要在屬性裡更改就可以 將乙個新的事務日誌檔案xscjl log,初始大小100mb加入xscj中。alter...