Redis系列 —— 配置文件以及關閉

配置文件Redis.conf解讀

  首先,如果我們希望通過配置文件來配置redis並啓動的話,需要將解壓後的文件夾中的redis.conf複製到安裝的redis目錄下。

cp redis.conf /home/redis

並且啓動redis的時候,需要加上配置文件的路徑。

./redis-server /home/redis/redis.comf

常用配置項

使用less -mN redis.conf查看配置文件。

1.redis默認不使用守護進程啓動,可以通過配置改變

daemonize no   //將no改爲yes就是守護進程

2.當redis以守護進程啓動時,會將pid寫入文件,可以用pidfile設置

pidfile /var/run/redis_6379.pid

3.指定端口(6379代表了一個歌手)

port 6379

4.綁定主機地址,如果綁定了127.0.0.1,就不可以遠程連接了

bind 127.0.0.1

5.當客戶端閒置多久關閉連接(0代表關閉該功能)

timeout 300

6.設置數據庫數量,默認爲0,最多爲16個(0-15)

databases 16  //可以使用select <dbid>指定數據庫id

7.指定更新本地的時間(可以同時配置多個條件)

save <seconds> <changes>  //在seconds時間內做了changes次改變

8.可以指定是否採用壓縮模式(若想節省CPU時間,數據庫文件會變得很大)

rdbcompression yes  //默認開啓LZF壓縮

9.指定本地數據庫名字,存放目錄

dbfilename dump.rdb  //dump.rdb數據庫名字
dir ./  //放在和bin同級的目錄

10.設置redis連接密碼,客戶端加上AUTH 連接

requirepass foobared

客戶端連接:
./bin/redis-cli -h IP地址 -p 端口 -a 密碼

11.可以指定同一時間連接的客戶端數目

maxclients 128

12.指定Redis最大內存限制

maxmemory <byte>  //默認156M

  當達到最大內存時,redis會先嚐試清除快要到期的的key,如果還是不夠,就不能進行寫操作了,但是可以進行讀操作。
  redis的VM機制,將key放在內存中,將value放在swap區。

解決Redis內存會溢出的問題

一、設置key的有效時間

二、採用LRU算法動態將不用的數據刪除。

  內存管理的一種頁面置換算法,對於在內存中但又不用的數據塊(內存塊)叫做LRU,操作系統會根據哪些數據屬於LRU而將其移出內存而騰出空間來加載另外的數據。

1.volatile-ru:設定超時時間的數據中,刪除最不常使用的數據
2.allkeys-ru:查詢所有的key中最近最不常使用的數據進行刪除,這是應用最廣泛的策略
3.volatile-random:在已經設定了超時的數據中隨機刪除.
4.allkeys-random:查詢所有的key,之後隨機刪除
5.volatile-ttl:查詢全部設定超時時間的數據,之後排序,將馬上將要過期的數據進行刪除操作
6.Noeviction:如果設置爲該屬性,則不會進行刪除操作,如果內存溢出則報錯返回
7.volatile-fu:從所有配置了過期時間的鍵中驅逐使用頻率最少的鍵
8.allkeys-lfu:從所有鍵中驅逐使用頻率最少的鍵

關閉Redis

一、非正常關閉(斷電、殺死進程,容易造成數據丟失)

ps -ef | grep -i redis
kill -9 PID 

二、正常關閉(數據不易丟失)

./bin/redis-cil shutdown
如果有密碼,需要先登錄,再使用shutdown關閉

正常關閉的話,在內存中的數據會儲存到本地數據庫中。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章