Redis安裝及配置(緩存服務(wù)器)

1、下載Redis并安裝

[root@redis work]#http://download.redis.io/releases/redis-2.8.17.tar.gz

[root@redis work]# tar xf redis-2.8.17.tar.gz

[root@redis work]# cd redis-2.8.17

[root@redis redis-2.8.17]# make

2、修改Redis配置文件

[root@redis redis-2.8.17]# vim redis.conf

daemonizeyes

port 6550

logfile/var/log/redis/redis_6550.log

#save 900 1

#save 300 10

#save 60 10000

3、設(shè)置vm.overcommit_memory=1

[root@redis ~]# vim /etc/sysctl.conf

vm.overcommit_memory=1

[root@redis ~]# sysctl -p

4、設(shè)置開(kāi)機(jī)自動(dòng)啟動(dòng)Redis

[root@redis ~]# vim /etc/rc.local

echonever >/sys/kernel/mm/transparent_hugepage/enabled

echo511 >/proc/sys/net/core/somaxconn

/work/redis-2.8.17/src/redis-server/work/redis-2.8.17/redis.conf

備注:Redis配置文件說(shuō)明

daemonize no 默認(rèn)情況下,redis不是在后臺(tái)運(yùn)行的,如果需要在后臺(tái)運(yùn)行,把該項(xiàng)的值更改為yes

daemonize yes

# 當(dāng)redis在后臺(tái)運(yùn)行的時(shí)候,Redis默認(rèn)會(huì)把pid文件放在/var/run/redis.pid,你可以配置到其他地址。

# 當(dāng)運(yùn)行多個(gè)redis服務(wù)時(shí),需要指定不同的pid文件和端口

pidfile /var/run/redis_6379.pid

# 指定redis運(yùn)行的端口,默認(rèn)是6379

port 6379

# 在高并發(fā)的環(huán)境中,為避免慢客戶端的連接問(wèn)題,需要設(shè)置一個(gè)高速后臺(tái)日志

tcp-backlog 511

# 指定redis只接收來(lái)自于該IP地址的請(qǐng)求,如果不進(jìn)行設(shè)置,那么將處理所有請(qǐng)求

# bind 192.168.1.100 10.0.0.1

# bind 127.0.0.1

# 設(shè)置客戶端連接時(shí)的超時(shí)時(shí)間,單位為秒。當(dāng)客戶端在這段時(shí)間內(nèi)沒(méi)有發(fā)出任何指令,那么關(guān)閉該連接

# 0是關(guān)閉此設(shè)置

timeout 0

# TCP keepalive

# 在Linux上,指定值(秒)用于發(fā)送ACKs的時(shí)間。注意關(guān)閉連接需要雙倍的時(shí)間。默認(rèn)為0。

tcp-keepalive 0

# 指定日志記錄級(jí)別,生產(chǎn)環(huán)境推薦notice

# Redis總共支持四個(gè)級(jí)別:debug、verbose、notice、warning,默認(rèn)為verbose

# debug 記錄很多信息,用于開(kāi)發(fā)和測(cè)試

# varbose 有用的信息,不像debug會(huì)記錄那么多

# notice 普通的verbose,常用于生產(chǎn)環(huán)境

# warning 只有非常重要或者嚴(yán)重的信息會(huì)記錄到日志

loglevel notice

# 配置log文件地址

# 默認(rèn)值為stdout,標(biāo)準(zhǔn)輸出,若后臺(tái)模式會(huì)輸出到/dev/null。

logfile /var/log/redis/redis.log

# 可用數(shù)據(jù)庫(kù)數(shù)

# 默認(rèn)值為16,默認(rèn)數(shù)據(jù)庫(kù)為0,數(shù)據(jù)庫(kù)范圍在0-(database-1)之間

databases 16

################################ 快照 #################################

# 保存數(shù)據(jù)到磁盤,格式如下:

# save

# 指出在多長(zhǎng)時(shí)間內(nèi),有多少次更新操作,就將數(shù)據(jù)同步到數(shù)據(jù)文件rdb。

# 相當(dāng)于條件觸發(fā)抓取快照,這個(gè)可以多個(gè)條件配合

# 比如默認(rèn)配置文件中的設(shè)置,就設(shè)置了三個(gè)條件

# save 900 1 900秒內(nèi)至少有1個(gè)key被改變

# save 300 10 300秒內(nèi)至少有300個(gè)key被改變

# save 60 10000 60秒內(nèi)至少有10000個(gè)key被改變

# save 900 1

# save 300 10

# save 60 10000

# 后臺(tái)存儲(chǔ)錯(cuò)誤停止寫。

stop-writes-on-bgsave-error yes

# 存儲(chǔ)至本地?cái)?shù)據(jù)庫(kù)時(shí)(持久化到rdb文件)是否壓縮數(shù)據(jù),默認(rèn)為yes

rdbcompression yes

# RDB文件的是否直接偶像chcksum

rdbchecksum yes

# 本地持久化數(shù)據(jù)庫(kù)文件名,默認(rèn)值為dump.rdb

dbfilename dump.rdb

# 工作目錄

# 數(shù)據(jù)庫(kù)鏡像備份的文件放置的路徑。

# 這里的路徑跟文件名要分開(kāi)配置是因?yàn)閞edis在進(jìn)行備份時(shí),先會(huì)將當(dāng)前數(shù)據(jù)庫(kù)的狀態(tài)寫入到一個(gè)臨時(shí)文件中,等備份完成時(shí),

# 再把該該臨時(shí)文件替換為上面所指定的文件,而這里的臨時(shí)文件和上面所配置的備份文件都會(huì)放在這個(gè)指定的路徑當(dāng)中。

# AOF文件也會(huì)存放在這個(gè)目錄下面

# 注意這里必須制定一個(gè)目錄而不是文件

dir /var/lib/redis-server/

################################# 復(fù)制 #################################

# 主從復(fù)制.設(shè)置該數(shù)據(jù)庫(kù)為其他數(shù)據(jù)庫(kù)的從數(shù)據(jù)庫(kù).

# 設(shè)置當(dāng)本機(jī)為slav服務(wù)時(shí),設(shè)置master服務(wù)的IP地址及端口,在Redis啟動(dòng)時(shí),它會(huì)自動(dòng)從master進(jìn)行數(shù)據(jù)同步

# slaveof

# 當(dāng)master服務(wù)設(shè)置了密碼保護(hù)時(shí)(用requirepass制定的密碼)

# slave服務(wù)連接master的密碼

# masterauth

# 當(dāng)從庫(kù)同主機(jī)失去連接或者復(fù)制正在進(jìn)行,從機(jī)庫(kù)有兩種運(yùn)行方式:

# 1) 如果slave-serve-stale-data設(shè)置為yes(默認(rèn)設(shè)置),從庫(kù)會(huì)繼續(xù)響應(yīng)客戶端的請(qǐng)求

# 2) 如果slave-serve-stale-data是指為no,出去INFO和SLAVOF命令之外的任何請(qǐng)求都會(huì)返回一個(gè)

# 錯(cuò)誤”SYNC with master in progress”

slave-serve-stale-data yes

# 配置slave實(shí)例是否接受寫。寫slave對(duì)存儲(chǔ)短暫數(shù)據(jù)(在同master數(shù)據(jù)同步后可以很容易地被刪除)是有用的,但未配置的情況下,客戶端寫可能會(huì)發(fā)送問(wèn)題。

# 從Redis2.6后,默認(rèn)slave為read-only

slaveread-only yes

# 從庫(kù)會(huì)按照一個(gè)時(shí)間間隔向主庫(kù)發(fā)送PINGs.可以通過(guò)repl-ping-slave-period設(shè)置這個(gè)時(shí)間間隔,默認(rèn)是10秒

# repl-ping-slave-period 10

# repl-timeout 設(shè)置主庫(kù)批量數(shù)據(jù)傳輸時(shí)間或者ping回復(fù)時(shí)間間隔,默認(rèn)值是60秒

# 一定要確保repl-timeout大于repl-ping-slave-period

# repl-timeout 60

# 在slave socket的SYNC后禁用TCP_NODELAY

# 如果選擇“yes”,Redis將使用一個(gè)較小的數(shù)字TCP數(shù)據(jù)包和更少的帶寬將數(shù)據(jù)發(fā)送到slave,但是這可能導(dǎo)致數(shù)據(jù)發(fā)送到slave端會(huì)有延遲,如果是Linux kernel的默認(rèn)配置,會(huì)達(dá)到40毫秒.

# 如果選擇”no”,則發(fā)送數(shù)據(jù)到slave端的延遲會(huì)降低,但將使用更多的帶寬用于復(fù)制.

repl-disable-tcp-nodelay no

# 設(shè)置復(fù)制的后臺(tái)日志大小。

# 復(fù)制的后臺(tái)日志越大,slave斷開(kāi)連接及后來(lái)可能執(zhí)行部分復(fù)制花的時(shí)間就越長(zhǎng)。

# 后臺(tái)日志在至少有一個(gè)slave連接時(shí),僅僅分配一次。

# repl-backlog-size 1mb

# 在master不再連接slave后,后臺(tái)日志將被釋放。下面的配置定義從最后一個(gè)slave斷開(kāi)連接后需要釋放的時(shí)間(秒)。

# 0意味著從不釋放后臺(tái)日志

# repl-backlog-ttl 3600

# 如果master不能再正常工作,那么會(huì)在多個(gè)slave中,選擇優(yōu)先值最小的一個(gè)slave提升為master,優(yōu)先值為0表示不能提升為master。

slave-priority 100

# 如果少于N個(gè)slave連接,且延遲時(shí)間<=M秒,則master可配置停止接受寫操作。

# 例如需要至少3個(gè)slave連接,且延遲<=10秒的配置:

# min-slaves-to-write 3

# min-slaves-max-lag 10

# 設(shè)置0為禁用

# 默認(rèn)min-slaves-to-write為0(禁用),min-slaves-max-lag為10

################################## 安全 ###################################

# 設(shè)置客戶端連接后進(jìn)行任何其他指定前需要使用的密碼。

# 警告:因?yàn)閞edis速度相當(dāng)快,所以在一臺(tái)比較好的服務(wù)器下,一個(gè)外部的用戶可以在一秒鐘進(jìn)行150K次的密碼嘗試,這意味著你需要指定非常非常強(qiáng)大的密碼來(lái)防止暴力破解

# requirepass foobared

# 命令重命名.

# 在一個(gè)共享環(huán)境下可以重命名相對(duì)危險(xiǎn)的命令。比如把CONFIG重名為一個(gè)不容易猜測(cè)的字符。

# 舉例:

# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52

# 如果想刪除一個(gè)命令,直接把它重命名為一個(gè)空字符""即可,如下:

# rename-command CONFIG ""

################################### 約束 ###################################

# 設(shè)置同一時(shí)間最大客戶端連接數(shù),默認(rèn)無(wú)限制,Redis可以同時(shí)打開(kāi)的客戶端連接數(shù)為Redis進(jìn)程可以打開(kāi)的最大文件描述符數(shù),

# 如果設(shè)置 maxclients 0,表示不作限制。

# 當(dāng)客戶端連接數(shù)到達(dá)限制時(shí),Redis會(huì)關(guān)閉新的連接并向客戶端返回max number of clients reached錯(cuò)誤信息

# maxclients 10000

# 指定Redis最大內(nèi)存限制,Redis在啟動(dòng)時(shí)會(huì)把數(shù)據(jù)加載到內(nèi)存中,達(dá)到最大內(nèi)存后,Redis會(huì)按照清除策略嘗試清除已到期的Key

# 如果Redis依照策略清除后無(wú)法提供足夠空間,或者策略設(shè)置為”noeviction”,則使用更多空間的命令將會(huì)報(bào)錯(cuò),例如SET, LPUSH等。但仍然可以進(jìn)行讀取操作

# 注意:Redis新的vm機(jī)制,會(huì)把Key存放內(nèi)存,Value會(huì)存放在swap區(qū)

# 該選項(xiàng)對(duì)LRU策略很有用。

# maxmemory的設(shè)置比較適合于把redis當(dāng)作于類似memcached的緩存來(lái)使用,而不適合當(dāng)做一個(gè)真實(shí)的DB。

# 當(dāng)把Redis當(dāng)做一個(gè)真實(shí)的數(shù)據(jù)庫(kù)使用的時(shí)候,內(nèi)存使用將是一個(gè)很大的開(kāi)銷

# maxmemory

# 當(dāng)內(nèi)存達(dá)到最大值的時(shí)候Redis會(huì)選擇刪除哪些數(shù)據(jù)?有五種方式可供選擇

# volatile-lru -> 利用LRU算法移除設(shè)置過(guò)過(guò)期時(shí)間的key (LRU:最近使用 Least RecentlyUsed )

# allkeys-lru -> 利用LRU算法移除任何key

# volatile-random -> 移除設(shè)置過(guò)過(guò)期時(shí)間的隨機(jī)key

# allkeys->random -> remove a randomkey, any key

# volatile-ttl -> 移除即將過(guò)期的key(minor TTL)

# noeviction -> 不移除任何可以,只是返回一個(gè)寫錯(cuò)誤

# 注意:對(duì)于上面的策略,如果沒(méi)有合適的key可以移除,當(dāng)寫的時(shí)候Redis會(huì)返回一個(gè)錯(cuò)誤

# 默認(rèn)是: volatile-lru

# maxmemory-policy volatile-lru

# LRU 和 minimal TTL算法都不是精準(zhǔn)的算法,但是相對(duì)精確的算法(為了節(jié)省內(nèi)存),隨意你可以選擇樣本大小進(jìn)行檢測(cè)。

# Redis默認(rèn)的灰選擇3個(gè)樣本進(jìn)行檢測(cè),你可以通過(guò)maxmemory-samples進(jìn)行設(shè)置

# maxmemory-samples 3

############################## AOF###############################

# 默認(rèn)情況下,redis會(huì)在后臺(tái)異步的把數(shù)據(jù)庫(kù)鏡像備份到磁盤,但是該備份是非常耗時(shí)的,而且備份也不能很頻繁,如果發(fā)生諸如拉閘限電、拔插頭等狀況,那么將造成比較大范圍的數(shù)據(jù)丟失。

# 所以redis提供了另外一種更加高效的數(shù)據(jù)庫(kù)備份及災(zāi)難恢復(fù)方式。

# 開(kāi)啟append only模式之后,redis會(huì)把所接收到的每一次寫操作請(qǐng)求都追加到appendonly.aof文件中,當(dāng)redis重新啟動(dòng)時(shí),會(huì)從該文件恢復(fù)出之前的狀態(tài)。

# 但是這樣會(huì)造成appendonly.aof文件過(guò)大,所以redis還支持了BGREWRITEAOF指令,對(duì)appendonly.aof進(jìn)行重新整理。

# 你可以同時(shí)開(kāi)啟asynchronous dumps和 AOF

appendonly no

# AOF文件名稱 (默認(rèn): “appendonly.aof”)

# appendfilename appendonly.aof

# Redis支持三種同步AOF文件的策略:

# no: 不進(jìn)行同步,系統(tǒng)去操作 . Faster.

# always: always表示每次有寫操作都進(jìn)行同步. Slow, Safest.

# everysec: 表示對(duì)寫操作進(jìn)行累積,每秒同步一次. Compromise.

# 默認(rèn)是”everysec”,按照速度和安全折中這是最好的。

# 如果想讓Redis能更高效的運(yùn)行,你也可以設(shè)置為”no”,讓操作系統(tǒng)決定什么時(shí)候去執(zhí)行

# 或者相反想讓數(shù)據(jù)更安全你也可以設(shè)置為”always”

# 如果不確定就用 “everysec”.

# appendfsync always

appendfsync everysec

# appendfsync no

# AOF策略設(shè)置為always或者everysec時(shí),后臺(tái)處理進(jìn)程(后臺(tái)保存或者AOF日志重寫)會(huì)執(zhí)行大量的I/O操作

# 在某些Linux配置中會(huì)阻止過(guò)長(zhǎng)的fsync()請(qǐng)求。注意現(xiàn)在沒(méi)有任何修復(fù),即使fsync在另外一個(gè)線程進(jìn)行處理

# 為了減緩這個(gè)問(wèn)題,可以設(shè)置下面這個(gè)參數(shù)no-appendfsync-on-rewrite

no-appendfsync-on-rewrite no

# AOF 自動(dòng)重寫

# 當(dāng)AOF文件增長(zhǎng)到一定大小的時(shí)候Redis能夠調(diào)用 BGREWRITEAOF 對(duì)日志文件進(jìn)行重寫

# 它是這樣工作的:Redis會(huì)記住上次進(jìn)行些日志后文件的大小(如果從開(kāi)機(jī)以來(lái)還沒(méi)進(jìn)行過(guò)重寫,那日子大小在開(kāi)機(jī)的時(shí)候確定)

# 基礎(chǔ)大小會(huì)同現(xiàn)在的大小進(jìn)行比較。如果現(xiàn)在的大小比基礎(chǔ)大小大制定的百分比,重寫功能將啟動(dòng)

# 同時(shí)需要指定一個(gè)最小大小用于AOF重寫,這個(gè)用于阻止即使文件很小但是增長(zhǎng)幅度很大也去重寫AOF文件的情況

# 設(shè)置 percentage為0就關(guān)閉這個(gè)特性

auto-aof-rewrite-percentage 100

auto-aof-rewrite-min-size 64mb

################################ LUASCRIPTING #############################

# 一個(gè)Lua腳本最長(zhǎng)的執(zhí)行時(shí)間為5000毫秒(5秒),如果為0或負(fù)數(shù)表示無(wú)限執(zhí)行時(shí)間。

lua-time-limit 5000

################################LOW LOG################################

# Redis Slow Log 記錄超過(guò)特定執(zhí)行時(shí)間的命令。執(zhí)行時(shí)間不包括I/O計(jì)算比如連接客戶端,返回結(jié)果等,只是命令執(zhí)行時(shí)間

# 可以通過(guò)兩個(gè)參數(shù)設(shè)置slow log:一個(gè)是告訴Redis執(zhí)行超過(guò)多少時(shí)間被記錄的參數(shù)slowlog-log-slower-than(微妙),

# 另一個(gè)是slow log的長(zhǎng)度。當(dāng)一個(gè)新命令被記錄的時(shí)候最早的命令將被從隊(duì)列中移除

# 下面的時(shí)間以微妙為單位,因此1000000代表一秒。

# 注意指定一個(gè)負(fù)數(shù)將關(guān)閉慢日志,而設(shè)置為0將強(qiáng)制每個(gè)命令都會(huì)記錄

slowlog-log-slower-than 10000

# 對(duì)日志長(zhǎng)度沒(méi)有限制,只是要注意它會(huì)消耗內(nèi)存

# 可以通過(guò) SLOWLOG RESET回收被慢日志消耗的內(nèi)存

# 推薦使用默認(rèn)值128,當(dāng)慢日志超過(guò)128時(shí),最先進(jìn)入隊(duì)列的記錄會(huì)被踢出

slowlog-max-len 128

################################ 事件通知 #############################

# 當(dāng)事件發(fā)生時(shí),Redis可以通知Pub/Sub客戶端。

# 可以在下表中選擇Redis要通知的事件類型。事件類型由單個(gè)字符來(lái)標(biāo)識(shí):

# K Keyspace事件,以_keyspace@_的前綴方式發(fā)布

# E Keyevent事件,以_keysevent@_的前綴方式發(fā)布

# g 通用事件(不指定類型),像DEL, EXPIRE, RENAME, …

# $ String命令

# s Set命令

# h Hash命令

# z 有序集合命令

# x 過(guò)期事件(每次key過(guò)期時(shí)生成)

# e 清除事件(當(dāng)key在內(nèi)存被清除時(shí)生成)

# A g$lshzxe的別稱,因此”AKE”意味著所有的事件

# notify-keyspace-events帶一個(gè)由0到多個(gè)字符組成的字符串參數(shù)??兆址馑际峭ㄖ唤谩?/p>

# 例子:?jiǎn)⒂胠ist和通用事件:

# notify-keyspace-events Elg

# 默認(rèn)所用的通知被禁用,因?yàn)橛脩敉ǔ2恍枰奶匦裕⑶以撎匦詴?huì)有性能損耗。

# 注意如果你不指定至少K或E之一,不會(huì)發(fā)送任何事件。

notify-keyspace-events “”

############################## 高級(jí)配置 ###############################

# 當(dāng)hash中包含超過(guò)指定元素個(gè)數(shù)并且最大的元素沒(méi)有超過(guò)臨界時(shí),

# hash將以一種特殊的編碼方式(大大減少內(nèi)存使用)來(lái)存儲(chǔ),這里可以設(shè)置這兩個(gè)臨界值

# Redis Hash對(duì)應(yīng)Value內(nèi)部實(shí)際就是一個(gè)HashMap,實(shí)際這里會(huì)有2種不同實(shí)現(xiàn),

# 這個(gè)Hash的成員比較少時(shí)Redis為了節(jié)省內(nèi)存會(huì)采用類似一維數(shù)組的方式來(lái)緊湊存儲(chǔ),而不會(huì)采用真正的HashMap結(jié)構(gòu),對(duì)應(yīng)的valueredisObject的encoding為zipmap,

# 當(dāng)成員數(shù)量增大時(shí)會(huì)自動(dòng)轉(zhuǎn)成真正的HashMap,此時(shí)encoding為ht。

hash-max-zipmap-entries 512

hash-max-zipmap-value 64

# 和Hash一樣,多個(gè)小的list以特定的方式編碼來(lái)節(jié)省空間。

# list數(shù)據(jù)類型節(jié)點(diǎn)值大小小于多少字節(jié)會(huì)采用緊湊存儲(chǔ)格式。

list-max-ziplist-entries 512

list-max-ziplist-value 64

# set數(shù)據(jù)類型內(nèi)部數(shù)據(jù)如果全部是數(shù)值型,且包含多少節(jié)點(diǎn)以下會(huì)采用緊湊格式存儲(chǔ)。

set-max-intset-entries 512

# 和hashe和list一樣,排序的set在指定的長(zhǎng)度內(nèi)以指定編碼方式存儲(chǔ)以節(jié)省空間

# zsort數(shù)據(jù)類型節(jié)點(diǎn)值大小小于多少字節(jié)會(huì)采用緊湊存儲(chǔ)格式。

zset-max-ziplist-entries 128

zset-max-ziplist-value 64

# Redis將在每100毫秒時(shí)使用1毫秒的CPU時(shí)間來(lái)對(duì)redis的hash表進(jìn)行重新hash,可以降低內(nèi)存的使用

# 當(dāng)你的使用場(chǎng)景中,有非常嚴(yán)格的實(shí)時(shí)性需要,不能夠接受Redis時(shí)不時(shí)的對(duì)請(qǐng)求有2毫秒的延遲的話,把這項(xiàng)配置為no。

# 如果沒(méi)有這么嚴(yán)格的實(shí)時(shí)性要求,可以設(shè)置為yes,以便能夠盡可能快的釋放內(nèi)存

activerehashing yes

#客戶端的輸出緩沖區(qū)的限制,因?yàn)槟撤N原因客戶端從服務(wù)器讀取數(shù)據(jù)的速度不夠快,

#可用于強(qiáng)制斷開(kāi)連接(一個(gè)常見(jiàn)的原因是一個(gè)發(fā)布/訂閱客戶端消費(fèi)消息的速度無(wú)法趕上生產(chǎn)它們的速度)。

# 可以三種不同客戶端的方式進(jìn)行設(shè)置:

# normal -> 正??蛻舳?/p>

# slave -> slave和MONITOR客戶端

# pubsub -> 至少訂閱了一個(gè)pubsub channel或pattern的客戶端

# 每個(gè)client-output-buffer-limit語(yǔ)法:

# client-output-buffer-limit

# 一旦達(dá)到硬限制客戶端會(huì)立即斷開(kāi),或者達(dá)到軟限制并保持達(dá)成的指定秒數(shù)(連續(xù))。

# 例如,如果硬限制為32兆字節(jié)和軟限制為16兆字節(jié)/10秒,客戶端將會(huì)立即斷開(kāi)

# 如果輸出緩沖區(qū)的大小達(dá)到32兆字節(jié),客戶端達(dá)到16兆字節(jié)和連續(xù)超過(guò)了限制10秒,也將斷開(kāi)連接。

# 默認(rèn)normal客戶端不做限制,因?yàn)樗麄冊(cè)谝粋€(gè)請(qǐng)求后未要求時(shí)(以推的方式)不接收數(shù)據(jù),

# 只有異步客戶端可能會(huì)出現(xiàn)請(qǐng)求數(shù)據(jù)的速度比它可以讀取的速度快的場(chǎng)景。

# 把硬限制和軟限制都設(shè)置為0來(lái)禁用該特性

client-output-buffer-limit normal 0 0 0

client-output-buffer-limit slave 256mb 64mb60

client-output-buffer-limit pubsub 32mb 8mb60

# Redis調(diào)用內(nèi)部函數(shù)來(lái)執(zhí)行許多后臺(tái)任務(wù),如關(guān)閉客戶端超時(shí)的連接,清除過(guò)期的Key,等等。

# 不是所有的任務(wù)都以相同的頻率執(zhí)行,但Redis依照指定的“Hz”值來(lái)執(zhí)行檢查任務(wù)。

# 默認(rèn)情況下,“Hz”的被設(shè)定為10。

# 提高該值將在Redis空閑時(shí)使用更多的CPU時(shí),但同時(shí)當(dāng)有多個(gè)key同時(shí)到期會(huì)使Redis的反應(yīng)更靈敏,以及超時(shí)可以更精確地處理。

# 范圍是1到500之間,但是值超過(guò)100通常不是一個(gè)好主意。

# 大多數(shù)用戶應(yīng)該使用10這個(gè)預(yù)設(shè)值,只有在非常低的延遲的情況下有必要提高最大到100。

hz 10

# 當(dāng)一個(gè)子節(jié)點(diǎn)重寫AOF文件時(shí),如果啟用下面的選項(xiàng),則文件每生成32M數(shù)據(jù)進(jìn)行同步。

aof-rewrite-incremental-fsync yes

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容