redis學習筆記(三)之其餘命令和特性

redis學習筆記(一)之安裝測試redis

redis學習筆記(二)之數據類型數據庫

1、基本特性

一、reids 默認端口:6379;緩存

二、默認支持16個數據庫,創建鏈接後自動選擇0號數據庫,建議不一樣的應用使用不一樣的redis,一個空的redis實例只佔1MB左右,其命令不區分大小寫。安全

2、安全特性

redis速度至關快,因此在一臺比較好的服務器下,一個外部用戶在一秒內能夠進行15W次的密碼嘗試,這意味着你須要設定很是強大的密碼來防止暴力破解。服務器

vi編輯 redis.conf文件 找到下面進行保存修改 #requirepass foobared requirepass **** , 重啓服務器, 再次進入127.0.0.1:6379> keys * (error) NOAUTH Authentication required. 會發現沒有權限進行查詢127.0.0.1:6379> auth aaa OK 輸入密碼則成功進入 每次進入的時候都要輸入密碼,還有種簡單的方式: 還有種方式是直接登陸受權:[root@bhz ~]# /usr/local/redis/bin/redis-cli -a aaadom

3、命令拾遺

一、測試是否鏈接到redis學習

1)ping,返回pong,說明鏈接成功;測試

2)echo hi ,交互模式,若返回hi,說明鏈接成功。此命令能夠理解爲打印,注意打印的字符串中不能有空格。ui

二、返回知足的全部鍵 keys * (能夠模糊匹配)spa

三、exists 是否存在指定的key

四、expire 設置某個key的過時時間,使用ttl查看剩餘時間

五、persist 取消過時時間

六、select 選擇數據庫 數據庫爲0到15(一共16個數據庫)默認進入的是0數據庫

七、move [key] [數據庫下標]將當前數據中的key 轉移到其餘數據庫中

八、randomkey 隨機返回數據庫裏的一個key

九、rename 重命名key

十、dbsize 查看數據庫的key數量

十一、info獲取數據庫信息

十二、config get 實時傳儲收到的請求(返回相關的配置信息) config get * 返回全部配置

1三、flushdb 清空當前數據庫

1四、flushall 清空全部數據庫

4、事務管理

redis的事務很是簡單,並且在執行的過程當中出現問題,沒法進行回滾操做,因此通常也只是當作緩存使用。

使用方法:

首先是使用multi方法打開事務 而後進行相關操做,這時操做的數據都會放入隊列裏進行保存 最後使用exec執行。若是不須要執行,使用discard方法取消事務。示例以下,k一、k二、k3設置成功,k四、k5被取消:

127.0.0.1:6379> multi
OK
127.0.0.1:6379> set k1 1
QUEUED
127.0.0.1:6379> set k2 2
QUEUED
127.0.0.1:6379> set k3 3
QUEUED
127.0.0.1:6379> exec
1) OK
2) OK
3) OK
127.0.0.1:6379> keys *
1) "k3"
2) "k2"
3) "k1"
127.0.0.1:6379> multi
OK
127.0.0.1:6379> set k4 a
QUEUED
127.0.0.1:6379> set k5 b
QUEUED
127.0.0.1:6379> discard
OK
127.0.0.1:6379> keys *
1) "k3"
2) "k2"
3) "k1"

中途若某命令執行出錯,則執行的命令不會回滾,示例以下:

127.0.0.1:6379> get name
"Tom"
127.0.0.1:6379> get age
"18"
127.0.0.1:6379> multi
OK
127.0.0.1:6379> incr age
QUEUED
127.0.0.1:6379> incr age
QUEUED
127.0.0.1:6379> incr name
QUEUED
127.0.0.1:6379> incr age
QUEUED
127.0.0.1:6379> exec
1) (integer) 19
2) (integer) 20
3) (error) ERR value is not an integer or out of range
4) (integer) 21
127.0.0.1:6379> get age
"21"
127.0.0.1:6379> get name
"Tom"

5、發佈訂閱

redis 提供了簡單的發佈訂閱功能。 使用subscribe [頻道] 進行訂閱監聽, 使用publish [頻道] [發佈內容] 進行發佈消息廣播。

示例以下:

在第一個客戶端中對t1頻道進行監聽:

127.0.0.1:6379> SUBSCRIBE t1 
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "t1"
3) (integer) 1

在第二個客戶端中對t1頻道進行發佈消息:

127.0.0.1:6379> publish t1 hello!
(integer) 1

此時,切回到第一個客戶端,會發現自動監聽了該消息:

127.0.0.1:6379> SUBSCRIBE t1 
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "t1"
3) (integer) 1
1) "message"
2) "t1"
3) "hello!"
相關文章
相關標籤/搜索