【学习笔记】redis一些配置文件参数详解
配置文件
打開redis配置文件:
日志級別
loglevel
指定日志記錄級別,Redis總共支持四個級別:debug、verbose、notice、warning,默認為notice
四個級別根據使用階段來選擇,生產環境選擇notice 或者warning
設置密碼
訪問密碼的查看、設置和取消
在命令中設置密碼,只是臨時的。重啟redis服務器,密碼就還原了。
永久設置,需要再配置文件中進行設置。
maxclients
? 設置redis同時可以與多少個客戶端進行連接。
? 默認情況下為10000個客戶端。
? 如果達到了此限制,redis則會拒絕新的連接請求,并且向這些連接請求方發出“max number of clients reached”以作回應
maxmemory
? 建議必須設置,否則,將內存占滿,造成服務器宕機
? 設置redis可以使用的內存量。一旦到達內存使用上限,redis將會試圖移除內部數據,移除規則可以通過maxmemory-policy來指定。
? 如果redis無法根據移除規則來移除內存中的數據,或者設置了“不允許移除”,那么redis則會針對那些需要申請內存的指令返回錯誤信息,比如SET、LPUSH等。
? 但是對于無內存申請的指令,仍然會正常響應,比如GET等。如果你的redis是主redis(說明你的redis有從redis),那么在設置內存使用上限時,需要在系統中留出一些內存空間給同步隊列緩存,只有在你設置的是“不移除”的情況下,才不用考慮這個因素。
移除key的策略
maxmemory-policy
? volatile-lru:使用LRU算法移除key,只對設置了過期時間的鍵;(最近最少使用)
? allkeys-lru:在所有集合key中,使用LRU算法移除key
? volatile-random:在過期集合中移除隨機的key,只對設置了過期時間的鍵
? allkeys-random:在所有集合key中,移除隨機的key
? volatile-ttl:移除那些TTL值最小的key,即那些最近要過期的key
? noeviction:不進行移除。針對寫操作,只是返回錯誤信息
maxmemory-samples
? 設置樣本數量,LRU算法和最小TTL算法都并非是精確的算法,而是估算值,所以你可以設置樣本的大小,redis默認會檢查這么多個key并選擇其中LRU的那個。
? 一般設置3到7的數字,數值越小樣本越不準確,但性能消耗越小。
發布訂閱
訂閱:
SUBSCRIBE channel1
發布:
publish channel1 hello 返回訂閱者數量
bitmap
Redis提供了Bitmaps這個“數據類型”可以實現對位的操作:
(1) Bitmaps本身不是一種數據類型, 實際上它就是字符串(key-value) , 但是它可以對字符串的位進行操作。
(2) Bitmaps單獨提供了一套命令, 所以在Redis中使用Bitmaps和使用字符串的方法不太相同。 可以把Bitmaps想象成一個以位為單位的數組, 數組的每個單元只能存儲0和1, 數組的下標在Bitmaps中叫做偏移量。
(1)格式
setbit設置Bitmaps中某個偏移量的值(0或1)
*offset:偏移量從0開始
(2)實例
每個獨立用戶是否訪問過網站存放在Bitmaps中, 將訪問的用戶記做1, 沒有訪問的用戶記做0, 用偏移量作為用戶的id。
設置鍵的第offset個位的值(從0算起) , 假設現在有20個用戶,userid=1, 6, 11, 15, 19的用戶對網站進行了訪問, 那么當前Bitmaps初始化結果如圖
2、getbit
(1)格式
getbit獲取Bitmaps中某個偏移量的值
(2)實例
獲取id=8的用戶是否在2020-11-06這天訪問過, 返回0說明沒有訪問過:
總結
以上是生活随笔為你收集整理的【学习笔记】redis一些配置文件参数详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用spring security设置用户
- 下一篇: springboot中使用lua脚本+a