redis學習筆記(一)之安裝測試redis
一、reids 默認端口:6379;緩存
二、默認支持16個數據庫,創建鏈接後自動選擇0號數據庫,建議不一樣的應用使用不一樣的redis,一個空的redis實例只佔1MB左右,其命令不區分大小寫。安全
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
一、測試是否鏈接到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 清空全部數據庫
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"
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!"