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 index
,index
為資料庫的標識。舉例如下:
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
清理資料庫
flushdb
和flushall
的區別為: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...