redis 一站式 齊全
守護進程(後臺啓動)
守護線程,使用 daemon 表示 ,redis的配置文件也是如此,daemonize 表示是否開啓守護線程。
因此開啓守護線程配置如下(redis配置文件中):
daemonize yes
修改端口
redis配置文件中
port 6379
配置遠程連接
redis默認開啓保護,綁定127.0.0.1,此時不接受遠程連接,如下:
protected-mode yes
bind 127.0.0.1
開啓遠程連接,修改如下:
protected-mode no
bind 0.0.0.0
禁止使用特定redis命令
這種操作在生成環境中很有使用的必要,比如我們需要禁止一些O(n)的命令,它們可能會隨着數據量的增大,造成redis鎖,cpu飆升等問題。(redis鎖不只是會鎖自己哦),例如 :keys命令
開啓keys命令的方式如下:(其他命令類推)
rename-command KEYS ""
redis 正常關機
首先,redis正常關機需要通過客戶端發送關機命令進行關機
打開redis客戶端(linux 下客戶端在src目錄下)
./redis-cli
然後輸入 shutdown命令
shutdown
爲什麼要正常關機呢,如果配置了持久化策略,執行關機命令不會丟失數據,但是如果直接quit,或者直接殺死進程,則不能保證數據完整性,即便是先執行了save 然後關機,也不能保證數據的完整性。
shutdown 命令還有兩個可選參數:
- SHUTDOWN SAVE 能夠在即使沒有配置持久化的情況下強制數據庫存儲.
- SHUTDOWN NOSAVE 能夠在配置一個或者多個持久化策略的情況下阻止數據庫存儲. (你可以假想它爲一箇中斷服務的 ABORT 命令).
設置保存快照
直接上例子,估計每個人都很熟悉,含義是 60秒內有1000個鍵被改動,就自動的保存一次。
save 60 1000
打開AOF保存
aof 只追加操作的文件(AOF是 append-only file 的縮寫),它也是redis讀寫分離,集羣的非常重要的一環。
打開AOF的方式如下:
appendonly yes
AOF文件命名配置爲
appendfilename "appendonly.aof"
另外可以通過一下聲明進行AOF文件損壞檢查
redis-check-aof –fix
redis 啓動
redis 啓動命令如下
./src/redis-server ./redis.conf
注:我本地安裝的是redis5.0.5的版本,redis服務在src 下,配置文件和src目錄同級。
設置最大內存
爲什麼要設置最大內存,因爲redis不會輕易歸還內存。這個和語言有關係,所以,如果不設置最大內存,redis可能使用的內存過大(redis會重複利用自己釋放的內存,但是不會將釋放的內存還給系統,因此還是需要設置最大內存,保證其他程序的穩定)。
設置最大內存配置如下:
maxmemory 2mb
另外還有一個配置來聲明當redis達到最大內存時所使用的策略。
maxmemory-policy noeviction
策略 | 簡介 |
---|---|
noeviction | 當達到最大內存時,僅僅在寫入時報錯。這個也是redis的默認機制 |
allkeys-lru | 允許使用LRU算法清除一些key |
allkeys-lfu | 允許使用LFU算法清楚一些key |
以上並非全部的策略,還有 volatile-lru,volatile-lfu,allkeys-random等這裏不做介紹。