<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Redis配置文件詳解

          共 22992字,需瀏覽 46分鐘

           ·

          2021-01-17 22:21

          點(diǎn)擊上方藍(lán)色字體,選擇“置頂或者星標(biāo)”?


          優(yōu)質(zhì)文章第一時(shí)間送達(dá)!


          Redis.config詳解

          啟動(dòng)的時(shí)候通過配置文件來啟動(dòng)(windows 10 下的redis配置文件, 類同Linux)

          單位

          #?1k?=>?1000?bytes
          #?1kb?=>?1024?bytes
          #?1m?=>?1000000?bytes
          #?1mb?=>?1024*1024?bytes
          #?1g?=>?1000000000?bytes
          #?1gb?=>?1024*1024*1024?bytes
          #
          #?units?are?case?insensitive?so?1GB?1Gb?1gB?are?all?the?same.
          • 配置文件 unit 單位對(duì)大小寫不敏感

          可以包含其他配置文件INCLUDES

          ##################################?INCLUDES?###################################

          #?Include?one?or?more?other?config?files?here.??This?is?useful?if?you
          #?have?a?standard?template?that?goes?to?all?Redis?servers?but?also?need
          #?to?customize?a?few?per-server?settings.??Include?files?can?include
          #?other?files,?so?use?this?wisely.
          #
          #?Notice?option?"include"?won't?be?rewritten?by?command?"CONFIG?REWRITE"
          #?from?admin?or?Redis?Sentinel.?Since?Redis?always?uses?the?last?processed
          #?line?as?value?of?a?configuration?directive,?you'd?better?put?includes
          #?at?the?beginning?of?this?file?to?avoid?overwriting?config?change?at?runtime.
          #
          #?If?instead?you?are?interested?in?using?includes?to?override?configuration
          #?options,?it?is?better?to?use?include?as?the?last?line.
          #
          #?include?.\path\to\local.conf
          #?include?c:\path\to\other.conf

          就像Spring import include

          網(wǎng)絡(luò)NETWORK

          ##################################?NETWORK?#####################################

          #?By?default,?if?no?"bind"?configuration?directive?is?specified,?Redis?listens
          #?for?connections?from?all?the?network?interfaces?available?on?the?server.
          #?It?is?possible?to?listen?to?just?one?or?multiple?selected?interfaces?using
          #?the?"bind"?configuration?directive,?followed?by?one?or?more?IP?addresses.
          #
          #?Examples:
          #
          #?bind?192.168.1.100?10.0.0.1
          #?bind?127.0.0.1?::1
          #
          #?~~~?WARNING?~~~?If?the?computer?running?Redis?is?directly?exposed?to?the
          #?internet,?binding?to?all?the?interfaces?is?dangerous?and?will?expose?the
          #?instance?to?everybody?on?the?internet.?So?by?default?we?uncomment?the
          #?following?bind?directive,?that?will?force?Redis?to?listen?only?into
          #?the?IPv4?lookback?interface?address?(this?means?Redis?will?be?able?to
          #?accept?connections?only?from?clients?running?into?the?same?computer?it
          #?is?running).
          #
          #?IF?YOU?ARE?SURE?YOU?WANT?YOUR?INSTANCE?TO?LISTEN?TO?ALL?THE?INTERFACES
          #?JUST?COMMENT?THE?FOLLOWING?LINE.
          #?~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          bind?127.0.0.1?#?綁定的ip

          #?Protected?mode?is?a?layer?of?security?protection,?in?order?to?avoid?that
          #?Redis?instances?left?open?on?the?internet?are?accessed?and?exploited.
          #
          #?When?protected?mode?is?on?and?if:
          #
          #?1)?The?server?is?not?binding?explicitly?to?a?set?of?addresses?using?the
          #????"bind"?directive.
          #?2)?No?password?is?configured.
          #
          #?The?server?only?accepts?connections?from?clients?connecting?from?the
          #?IPv4?and?IPv6?loopback?addresses?127.0.0.1?and?::1,?and?from?Unix?domain
          #?sockets.
          #
          #?By?default?protected?mode?is?enabled.?You?should?disable?it?only?if
          #?you?are?sure?you?want?clients?from?other?hosts?to?connect?to?Redis
          #?even?if?no?authentication?is?configured,?nor?a?specific?set?of?interfaces
          #?are?explicitly?listed?using?the?"bind"?directive.
          protected-mode?yes??#?受保護(hù)模式,?開啟,?保證安全性

          #?Accept?connections?on?the?specified?port,?default?is?6379?(IANA?#815344).
          #?If?port?0?is?specified?Redis?will?not?listen?on?a?TCP?socket.
          port?6379?????????#?端口設(shè)置

          #?TCP?listen()?backlog.
          #
          #?In?high?requests-per-second?environments?you?need?an?high?backlog?in?order
          #?to?avoid?slow?clients?connections?issues.?Note?that?the?Linux?kernel
          #?will?silently?truncate?it?to?the?value?of?/proc/sys/net/core/somaxconn?so
          #?make?sure?to?raise?both?the?value?of?somaxconn?and?tcp_max_syn_backlog
          #?in?order?to?get?the?desired?effect.
          tcp-backlog?511

          #?Unix?socket.
          #
          #?Specify?the?path?for?the?Unix?socket?that?will?be?used?to?listen?for
          #?incoming?connections.?There?is?no?default,?so?Redis?will?not?listen
          #?on?a?unix?socket?when?not?specified.
          #
          #?unixsocket?/tmp/redis.sock
          #?unixsocketperm?700

          #?Close?the?connection?after?a?client?is?idle?for?N?seconds?(0?to?disable)
          timeout?0

          #?TCP?keepalive.
          #
          #?If?non-zero,?use?SO_KEEPALIVE?to?send?TCP?ACKs?to?clients?in?absence
          #?of?communication.?This?is?useful?for?two?reasons:
          #
          #?1)?Detect?dead?peers.
          #?2)?Take?the?connection?alive?from?the?point?of?view?of?network
          #????equipment?in?the?middle.
          #
          #?On?Linux,?the?specified?value?(in?seconds)?is?the?period?used?to?send?ACKs.
          #?Note?that?to?close?the?connection?the?double?of?the?time?is?needed.
          #?On?other?kernels?the?period?depends?on?the?kernel?configuration.
          #
          #?A?reasonable?value?for?this?option?is?60?seconds.
          tcp-keepalive?0
          • bind 127.0.0.1 : ?綁定的ip
          • protected-mode yes ?: ?受保護(hù)模式, 開啟, 保證安全性
          • port 6379 ? ? ? ? : ?端口設(shè)置

          通用配置GENERAL

          #################################?GENERAL?#####################################

          #?By?default?Redis?does?not?run?as?a?daemon.?Use?'yes'?if?you?need?it.
          #?Note?that?Redis?will?write?a?pid?file?in?/var/run/redis.pid?when?daemonized.
          #?NOT?SUPPORTED?ON?WINDOWS?daemonize?no
          daemonize?yes

          #?If?you?run?Redis?from?upstart?or?systemd,?Redis?can?interact?with?your
          #?supervision?tree.?Options:
          #???supervised?no??????-?no?supervision?interaction
          #???supervised?upstart?-?signal?upstart?by?putting?Redis?into?SIGSTOP?mode
          #???supervised?systemd?-?signal?systemd?by?writing?READY=1?to?$NOTIFY_SOCKET
          #???supervised?auto????-?detect?upstart?or?systemd?method?based?on
          #????????????????????????UPSTART_JOB?or?NOTIFY_SOCKET?environment?variables
          #?Note:?these?supervision?methods?only?signal?"process?is?ready."
          #???????They?do?not?enable?continuous?liveness?pings?back?to?your?supervisor.
          #?NOT?SUPPORTED?ON?WINDOWS?supervised?no
          supervised?no

          #?If?a?pid?file?is?specified,?Redis?writes?it?where?specified?at?startup
          #?and?removes?it?at?exit.
          #
          #?When?the?server?runs?non?daemonized,?no?pid?file?is?created?if?none?is
          #?specified?in?the?configuration.?When?the?server?is?daemonized,?the?pid?file
          #?is?used?even?if?not?specified,?defaulting?to?"/var/run/redis.pid".
          #
          #?Creating?a?pid?file?is?best?effort:?if?Redis?is?not?able?to?create?it
          #?nothing?bad?happens,?the?server?will?start?and?run?normally.
          #?NOT?SUPPORTED?ON?WINDOWS?pidfile?/var/run/redis.pid
          pidfile?/var/run/redis.pid

          #?Specify?the?server?verbosity?level.
          #?This?can?be?one?of:
          #?debug?(a?lot?of?information,?useful?for?development/testing)
          #?verbose?(many?rarely?useful?info,?but?not?a?mess?like?the?debug?level)
          #?notice?(moderately?verbose,?what?you?want?in?production?probably)
          #?warning?(only?very?important?/?critical?messages?are?logged)
          loglevel?notice??#?生產(chǎn)環(huán)境

          #?Specify?the?log?file?name.?Also?'stdout'?can?be?used?to?force
          #?Redis?to?log?on?the?standard?output.
          logfile?""?????????#?生成的文件名

          #?To?enable?logging?to?the?Windows?EventLog,?just?set?'syslog-enabled'?to
          #?yes,?and?optionally?update?the?other?syslog?parameters?to?suit?your?needs.
          #?If?Redis?is?installed?and?launched?as?a?Windows?Service,?this?will
          #?automatically?be?enabled.
          #?syslog-enabled?no

          #?Specify?the?source?name?of?the?events?in?the?Windows?Application?log.
          #?syslog-ident?redis

          #?Set?the?number?of?databases.?The?default?database?is?DB?0,?you?can?select
          #?a?different?one?on?a?per-connection?basis?using?SELECT??where
          #?dbid?is?a?number?between?0?and?'databases'-1
          databases?16????????????#?數(shù)據(jù)庫的數(shù)量,?默認(rèn)三是16個(gè)
          • daemonize no ? ?: ?以守護(hù)進(jìn)程的方式運(yùn)行, 默認(rèn)是 no , 我們需要自己開啟為 yes
          • pidfile /var/run/redis.pid ? ?: ?如果以后臺(tái)的方式運(yùn)行, 我們就需要指定一個(gè) pid 進(jìn)行文件
          • loglevel notice ? ? ? : ?日志級(jí)別 ?(debug、 verbose、 notice、 warning)
          • logfile "" ? ? ? ? : ?生成的文件名
          • always-show-logo ?yes ? ? : ?是否總是顯示logo

          快照SNAPSHOTTING

          持久化, 在規(guī)定時(shí)間內(nèi), 執(zhí)行多少次操作, 則會(huì)持久化到文件 ?.rdb ? .aof

          ################################?SNAPSHOTTING??################################
          #
          #?Save?the?DB?on?disk:
          #
          #???save??
          #
          #???Will?save?the?DB?if?both?the?given?number?of?seconds?and?the?given
          #???number?of?write?operations?against?the?DB?occurred.
          #
          #???In?the?example?below?the?behaviour?will?be?to?save:
          #???after?900?sec?(15?min)?if?at?least?1?key?changed
          #???after?300?sec?(5?min)?if?at?least?10?keys?changed
          #???after?60?sec?if?at?least?10000?keys?changed
          #
          #???Note:?you?can?disable?saving?completely?by?commenting?out?all?"save"?lines.
          #
          #???It?is?also?possible?to?remove?all?the?previously?configured?save
          #???points?by?adding?a?save?directive?with?a?single?empty?string?argument
          #???like?in?the?following?example:
          #
          #???save?""

          save?900?1??????????????#?持久化規(guī)則,?redis?是內(nèi)存數(shù)據(jù)庫,?不持久化的話數(shù)據(jù)就會(huì)丟
          save?300?10
          save?60?10000

          #?By?default?Redis?will?stop?accepting?writes?if?RDB?snapshots?are?enabled
          #?(at?least?one?save?point)?and?the?latest?background?save?failed.
          #?This?will?make?the?user?aware?(in?a?hard?way)?that?data?is?not?persisting
          #?on?disk?properly,?otherwise?chances?are?that?no?one?will?notice?and?some
          #?disaster?will?happen.
          #
          #?If?the?background?saving?process?will?start?working?again?Redis?will
          #?automatically?allow?writes?again.
          #
          #?However?if?you?have?setup?your?proper?monitoring?of?the?Redis?server
          #?and?persistence,?you?may?want?to?disable?this?feature?so?that?Redis?will
          #?continue?to?work?as?usual?even?if?there?are?problems?with?disk,
          #?permissions,?and?so?forth.
          stop-writes-on-bgsave-error?yes?????????#?持久化出錯(cuò),?是否仍進(jìn)行工作

          #?Compress?string?objects?using?LZF?when?dump?.rdb?databases?
          #?For?default?that's?set?to?'yes'?as?it's?almost?always?a?win.
          #?If?you?want?to?save?some?CPU?in?the?saving?child?set?it?to?'no'?but
          #?the?dataset?will?likely?be?bigger?if?you?have?compressible?values?or?keys.
          rdbcompression?yes??????????#?是否壓縮?rdb?文件?(需要消耗?cpu?資源)

          #?Since?version?5?of?RDB?a?CRC64?checksum?is?placed?at?the?end?of?the?file.
          #?This?makes?the?format?more?resistant?to?corruption?but?there?is?a?performance
          #?hit?to?pay?(around?10%)?when?saving?and?loading?RDB?files,?so?you?can?disable?it
          #?for?maximum?performances.
          #
          #?RDB?files?created?with?checksum?disabled?have?a?checksum?of?zero?that?will
          #?tell?the?loading?code?to?skip?the?check.
          rdbchecksum?yes????????????#?是否校驗(yàn)?rdb?文件?

          #?The?filename?where?to?dump?the?DB
          dbfilename?dump.rdb

          #?The?working?directory.
          #
          #?The?DB?will?be?written?inside?this?directory,?with?the?filename?specified
          #?above?using?the?'dbfilename'?configuration?directive.
          #?
          #?The?Append?Only?File?will?also?be?created?inside?this?directory.
          #?
          #?Note?that?you?must?specify?a?directory?here,?not?a?file?name.
          dir?./

          內(nèi)存數(shù)據(jù)庫, 如果沒有持久化, 那么數(shù)據(jù)斷電及失(可自定義設(shè)置自己所需要的)

          • save 900 1 ? ? ? ? ? ? ?: ?900秒內(nèi)如果至少有一個(gè) key 進(jìn)行修改, 我們就進(jìn)行持久化操作

          • save 300 10 ? ? ? ? ? ? ? : ?300秒內(nèi)如果至少有十個(gè) key 進(jìn)行修改, 我們就進(jìn)行持久化操作

          • save 60 10000 ? ? ? ? ? ? : ?60秒內(nèi)如果至少有一萬個(gè) key 進(jìn)行修改, 我們就進(jìn)行持久化操作(高并發(fā))

          • stop-writes-on-bgsave-error yes ? ? ? ? : ?持久化出錯(cuò), 是否仍進(jìn)行工作

          • rdbcompression yes ? ? ? ? ?: ?是否壓縮 rdb 文件 (需要消耗 cpu 資源)

          • rdbchecksum yes ? ? ? ? ? ?: ?保存 rdb 文件的時(shí)候, 進(jìn)行錯(cuò)誤檢查校驗(yàn)

          • dir ./ ? ? ? ? ? ? ? ? ? ? ?: ?rdb 文件保存的目錄

          復(fù)制REPLICATION

          主從復(fù)制

          安全SECURITY

          安全, 默認(rèn)是沒有密碼的.

          ##################################?SECURITY?###################################

          #?Require?clients?to?issue?AUTH??before?processing?any?other
          #?commands.??This?might?be?useful?in?environments?in?which?you?do?not?trust
          #?others?with?access?to?the?host?running?redis-server.
          #
          #?This?should?stay?commented?out?for?backward?compatibility?and?because?most
          #?people?do?not?need?auth?(e.g.?they?run?their?own?servers).
          #?
          #?Warning:?since?Redis?is?pretty?fast?an?outside?user?can?try?up?to
          #?150k?passwords?per?second?against?a?good?box.?This?means?that?you?should
          #?use?a?very?strong?password?otherwise?it?will?be?very?easy?to?break.
          #
          #?requirepass?foobared??????????#?設(shè)置密碼
          requirepass?123456
          #?Command?renaming.
          #
          #?It?is?possible?to?change?the?name?of?dangerous?commands?in?a?shared
          #?environment.?For?instance?the?CONFIG?command?may?be?renamed?into?something
          #?hard?to?guess?so?that?it?will?still?be?available?for?internal-use?tools
          #?but?not?available?for?general?clients.
          #
          #?Example:
          #
          #?rename-command?CONFIG?b840fc02d524045429941cc15f59e41cb7be6c52
          #
          #?It?is?also?possible?to?completely?kill?a?command?by?renaming?it?into
          #?an?empty?string:
          #
          #?rename-command?CONFIG?""
          #
          #?Please?note?that?changing?the?name?of?commands?that?are?logged?into?the
          #?AOF?file?or?transmitted?to?slaves?may?cause?problems.
          • requirepass 123456 ? ? ? ? ? ?: ?手動(dòng)設(shè)置
          • 命令行設(shè)置 ? ? ? ? ? ? ? ? ? ? : ?config set requirepass "123456"
          • 若已設(shè)置密碼則需要登錄 命令 ?: auth 123456
          • 登錄成功 獲取用戶密碼 ? ? ?: config get requirepass

          限制 LIMITS

          CLIENTS

          ###################################?LIMITS?####################################

          #?Set?the?max?number?of?connected?clients?at?the?same?time.?By?default
          #?this?limit?is?set?to?10000?clients,?however?if?the?Redis?server?is?not
          #?able?to?configure?the?process?file?limit?to?allow?for?the?specified?limit
          #?the?max?number?of?allowed?clients?is?set?to?the?current?file?limit
          #?minus?32?(as?Redis?reserves?a?few?file?descriptors?for?internal?uses).
          #
          #?Once?the?limit?is?reached?Redis?will?close?all?the?new?connections?sending
          #?an?error?'max?number?of?clients?reached'.
          #
          #?maxclients?10000??????????????????#?設(shè)置能鏈接上?redis?最大客戶端?數(shù)量

          #?If?Redis?is?to?be?used?as?an?in-memory-only?cache?without?any?kind?of
          #?persistence,?then?the?fork()?mechanism?used?by?the?background?AOF/RDB
          #?persistence?is?unnecessary.?As?an?optimization,?all?persistence?can?be
          #?turned?off?in?the?Windows?version?of?Redis.?This?will?redirect?heap
          #?allocations?to?the?system?heap?allocator,?and?disable?commands?that?would
          #?otherwise?cause?fork()?operations:?BGSAVE?and?BGREWRITEAOF.
          #?This?flag?may?not?be?combined?with?any?of?the?other?flags?that?configure
          #?AOF?and?RDB?operations.
          #?persistence-available?[(yes)|no]

          #?Don't?use?more?memory?than?the?specified?amount?of?bytes.
          #?When?the?memory?limit?is?reached?Redis?will?try?to?remove?keys
          #?according?to?the?eviction?policy?selected?(see?maxmemory-policy).
          #
          #?If?Redis?can't?remove?keys?according?to?the?policy,?or?if?the?policy?is
          #?set?to?'noeviction',?Redis?will?start?to?reply?with?errors?to?commands
          #?that?would?use?more?memory,?like?SET,?LPUSH,?and?so?on,?and?will?continue
          #?to?reply?to?read-only?commands?like?GET.
          #
          #?This?option?is?usually?useful?when?using?Redis?as?an?LRU?cache,?or?to?set
          #?a?hard?memory?limit?for?an?instance?(using?the?'noeviction'?policy).
          #
          #?WARNING:?If?you?have?slaves?attached?to?an?instance?with?maxmemory?on,
          #?the?size?of?the?output?buffers?needed?to?feed?the?slaves?are?subtracted
          #?from?the?used?memory?count,?so?that?network?problems?/?resyncs?will
          #?not?trigger?a?loop?where?keys?are?evicted,?and?in?turn?the?output
          #?buffer?of?slaves?is?full?with?DELs?of?keys?evicted?triggering?the?deletion
          #?of?more?keys,?and?so?forth?until?the?database?is?completely?emptied.
          #
          #?In?short...?if?you?have?slaves?attached?it?is?suggested?that?you?set?a?lower
          #?limit?for?maxmemory?so?that?there?is?some?free?RAM?on?the?system?for?slave
          #?output?buffers?(but?this?is?not?needed?if?the?policy?is?'noeviction').
          #
          #?WARNING:?not?setting?maxmemory?will?cause?Redis?to?terminate?with?an
          #?out-of-memory?exception?if?the?heap?limit?is?reached.
          #
          #?NOTE:?since?Redis?uses?the?system?paging?file?to?allocate?the?heap?memory,
          #?the?Working?Set?memory?usage?showed?by?the?Windows?Task?Manager?or?by?other
          #?tools?such?as?ProcessExplorer?will?not?always?be?accurate.?For?example,?right
          #?after?a?background?save?of?the?RDB?or?the?AOF?files,?the?working?set?value
          #?may?drop?significantly.?In?order?to?check?the?correct?amount?of?memory?used
          #?by?the?redis-server?to?store?the?data,?use?the?INFO?client?command.?The?INFO
          #?command?shows?only?the?memory?used?to?store?the?redis?data,?not?the?extra
          #?memory?used?by?the?Windows?process?for?its?own?requirements.?Th3?extra?amount
          #?of?memory?not?reported?by?the?INFO?command?can?be?calculated?subtracting?the
          #?Peak?Working?Set?reported?by?the?Windows?Task?Manager?and?the?used_memory_peak
          #?reported?by?the?INFO?command.
          #
          #?maxmemory??????????????????????#?redis?配置最大內(nèi)存容量

          #?MAXMEMORY?POLICY:?how?Redis?will?select?what?to?remove?when?maxmemory
          #?is?reached.?You?can?select?among?five?behaviors:
          #?
          #?volatile-lru?->?remove?the?key?with?an?expire?set?using?an?LRU?algorithm
          #?allkeys-lru?->?remove?any?key?according?to?the?LRU?algorithm
          #?volatile-random?->?remove?a?random?key?with?an?expire?set
          #?allkeys-random?->?remove?a?random?key,?any?key
          #?volatile-ttl?->?remove?the?key?with?the?nearest?expire?time?(minor?TTL)
          #?noeviction?->?don't?expire?at?all,?just?return?an?error?on?write?operations
          #?
          #?Note:?with?any?of?the?above?policies,?Redis?will?return?an?error?on?write
          #???????operations,?when?there?are?no?suitable?keys?for?eviction.
          #
          #???????At?the?date?of?writing?these?commands?are:?set?setnx?setex?append
          #???????incr?decr?rpush?lpush?rpushx?lpushx?linsert?lset?rpoplpush?sadd
          #???????sinter?sinterstore?sunion?sunionstore?sdiff?sdiffstore?zadd?zincrby
          #???????zunionstore?zinterstore?hset?hsetnx?hmset?hincrby?incrby?decrby
          #???????getset?mset?msetnx?exec?sort
          #
          #?The?default?is:
          #
          #?maxmemory-policy?noeviction

          #?LRU?and?minimal?TTL?algorithms?are?not?precise?algorithms?but?approximated
          #?algorithms?(in?order?to?save?memory),?so?you?can?select?as?well?the?sample
          #?size?to?check.?For?instance?for?default?Redis?will?check?three?keys?and
          #?pick?the?one?that?was?used?less?recently,?you?can?change?the?sample?size
          #?using?the?following?configuration?directive.
          #
          #?maxmemory-samples?3
          • maxclients 10000 ? ? ? ? ? ? ? ? ?: 設(shè)置能鏈接上 redis 最大客戶端 數(shù)量
          • maxmemory: redis 配置最大內(nèi)存容量
          • maxmemory-policy noeviction ? ? ? ? ?: 內(nèi)存達(dá)到上限處理策略 ? ? ? ? ?(移除一些過期的 key; 報(bào)錯(cuò))

          1、volatile-lru:只對(duì)設(shè)置了過期時(shí)間的key進(jìn)行LRU(默認(rèn)值)
          2、allkeys-lru :刪除lru算法的key
          3、volatile-random:隨機(jī)刪除即將過期key
          4、allkeys-random:隨機(jī)刪除
          5、volatile-ttl :刪除即將過期的
          6、noeviction :永不過期,返回錯(cuò)誤

          APPEND ONLY 模式

          AOF

          ##############################?APPEND?ONLY?MODE?###############################

          #?By?default?Redis?asynchronously?dumps?the?dataset?on?disk.?This?mode?is
          #?good?enough?in?many?applications,?but?an?issue?with?the?Redis?process?or
          #?a?power?outage?may?result?into?a?few?minutes?of?writes?lost?(depending?on
          #?the?configured?save?points).
          #
          #?The?Append?Only?File?is?an?alternative?persistence?mode?that?provides
          #?much?better?durability.?For?instance?using?the?default?data?fsync?policy
          #?(see?later?in?the?config?file)?Redis?can?lose?just?one?second?of?writes?in?a
          #?dramatic?event?like?a?server?power?outage,?or?a?single?write?if?something
          #?wrong?with?the?Redis?process?itself?happens,?but?the?operating?system?is
          #?still?running?correctly.
          #
          #?AOF?and?RDB?persistence?can?be?enabled?at?the?same?time?without?problems.
          #?If?the?AOF?is?enabled?on?startup?Redis?will?load?the?AOF,?that?is?the?file
          #?with?the?better?durability?guarantees.
          #
          #?Please?check?http://redis.io/topics/persistence?for?more?information.

          appendonly?no???????????#?默認(rèn)是不開啟

          #?The?name?of?the?append?only?file?(default:?"appendonly.aof")
          appendfilename?"appendonly.aof"?????????#?持久化的文件的名字

          #?The?fsync()?call?tells?the?Operating?System?to?actually?write?data?on?disk
          #?instead?of?waiting?for?more?data?in?the?output?buffer.?Some?OS?will?really?flush
          #?data?on?disk,?some?other?OS?will?just?try?to?do?it?ASAP.
          #
          #?Redis?supports?three?different?modes:
          #
          #?no:?don't?fsync,?just?let?the?OS?flush?the?data?when?it?wants.?Faster.
          #?always:?fsync?after?every?write?to?the?append?only?log?.?Slow,?Safest.
          #?everysec:?fsync?only?one?time?every?second.?Compromise.
          #
          #?The?default?is?"everysec",?as?that's?usually?the?right?compromise?between
          #?speed?and?data?safety.?It's?up?to?you?to?understand?if?you?can?relax?this?to
          #?"no"?that?will?let?the?operating?system?flush?the?output?buffer?when
          #?it?wants,?for?better?performances?(but?if?you?can?live?with?the?idea?of
          #?some?data?loss?consider?the?default?persistence?mode?that's?snapshotting),
          #?or?on?the?contrary,?use?"always"?that's?very?slow?but?a?bit?safer?than
          #?everysec.
          #
          #?More?details?please?check?the?following?article:
          #?http://antirez.com/post/redis-persistence-demystified.html
          #
          #?If?unsure,?use?"everysec".

          #?appendfsync?always
          appendfsync?everysec????????
          #?appendfsync?no

          #?When?the?AOF?fsync?policy?is?set?to?always?or?everysec,?and?a?background
          #?saving?process?(a?background?save?or?AOF?log?background?rewriting)?is
          #?performing?a?lot?of?I/O?against?the?disk,?in?some?Linux?configurations
          #?Redis?may?block?too?long?on?the?fsync()?call.?Note?that?there?is?no?fix?for
          #?this?currently,?as?even?performing?fsync?in?a?different?thread?will?block
          #?our?synchronous?write(2)?call.
          #
          #?In?order?to?mitigate?this?problem?it's?possible?to?use?the?following?option
          #?that?will?prevent?fsync()?from?being?called?in?the?main?process?while?a
          #?BGSAVE?or?BGREWRITEAOF?is?in?progress.
          #
          #?This?means?that?while?another?child?is?saving,?the?durability?of?Redis?is
          #?the?same?as?"appendfsync?none".?In?practical?terms,?this?means?that?it?is
          #?possible?to?lose?up?to?30?seconds?of?log?in?the?worst?scenario?(with?the
          #?default?Linux?settings).
          #?
          #?If?you?have?latency?problems?turn?this?to?"yes".?Otherwise?leave?it?as
          #?"no"?that?is?the?safest?pick?from?the?point?of?view?of?durability.
          no-appendfsync-on-rewrite?no

          #?Automatic?rewrite?of?the?append?only?file.
          #?Redis?is?able?to?automatically?rewrite?the?log?file?implicitly?calling
          #?BGREWRITEAOF?when?the?AOF?log?size?grows?by?the?specified?percentage.
          #?
          #?This?is?how?it?works:?Redis?remembers?the?size?of?the?AOF?file?after?the
          #?latest?rewrite?(if?no?rewrite?has?happened?since?the?restart,?the?size?of
          #?the?AOF?at?startup?is?used).
          #
          #?This?base?size?is?compared?to?the?current?size.?If?the?current?size?is
          #?bigger?than?the?specified?percentage,?the?rewrite?is?triggered.?Also
          #?you?need?to?specify?a?minimal?size?for?the?AOF?file?to?be?rewritten,?this
          #?is?useful?to?avoid?rewriting?the?AOF?file?even?if?the?percentage?increase
          #?is?reached?but?it?is?still?pretty?small.
          #
          #?Specify?a?percentage?of?zero?in?order?to?disable?the?automatic?AOF
          #?rewrite?feature.

          auto-aof-rewrite-percentage?100
          auto-aof-rewrite-min-size?64mb

          #?An?AOF?file?may?be?found?to?be?truncated?at?the?end?during?the?Redis
          #?startup?process,?when?the?AOF?data?gets?loaded?back?into?memory.
          #?This?may?happen?when?the?system?where?Redis?is?running
          #?crashes,?especially?when?an?ext4?filesystem?is?mounted?without?the
          #?data=ordered?option?(however?this?can't?happen?when?Redis?itself
          #?crashes?or?aborts?but?the?operating?system?still?works?correctly).
          #
          #?Redis?can?either?exit?with?an?error?when?this?happens,?or?load?as?much
          #?data?as?possible?(the?default?now)?and?start?if?the?AOF?file?is?found
          #?to?be?truncated?at?the?end.?The?following?option?controls?this?behavior.
          #
          #?If?aof-load-truncated?is?set?to?yes,?a?truncated?AOF?file?is?loaded?and
          #?the?Redis?server?starts?emitting?a?log?to?inform?the?user?of?the?event.
          #?Otherwise?if?the?option?is?set?to?no,?the?server?aborts?with?an?error
          #?and?refuses?to?start.?When?the?option?is?set?to?no,?the?user?requires
          #?to?fix?the?AOF?file?using?the?"redis-check-aof"?utility?before?to?restart
          #?the?server.
          #
          #?Note?that?if?the?AOF?file?will?be?found?to?be?corrupted?in?the?middle
          #?the?server?will?still?exit?with?an?error.?This?option?only?applies?when
          #?Redis?will?try?to?read?more?data?from?the?AOF?file?but?not?enough?bytes
          #?will?be?found.
          aof-load-truncated?yes
          • appendonly no ? ? ? ? ?: 默認(rèn)是不開啟 aof 模式的, 默認(rèn)使用的是 rdb 方式持久化, 在大部分所有情況下, rdb 完全夠用
          • appendfilename "appendonly.aof" ? ? ? ? : ?持久化的文件的名字
          • appendfsync everysec ? ? ? ? ?: ?每秒執(zhí)行一次 ?sync 可能會(huì)丟失 1s 的數(shù)據(jù)
          • appendfsync no ? ? ? ? ? ?: ?不執(zhí)行 sync 這個(gè)時(shí)候操作系統(tǒng)自己同步數(shù)據(jù) 速度最快
          • appendfsync always ? ? ? ?: ?每次修改都會(huì) sync 消耗性能

          文章已上傳gitee https://gitee.com/codingce/hexo-blog
          項(xiàng)目地址: https://github.com/xzMhehe/codingce-java


          更多推薦內(nèi)容

          ↓↓↓

          線性表概述

          線性表的順序存儲(chǔ)——順序表

          SpringBoot整合Redis

          如果你喜歡本文

          請(qǐng)長(zhǎng)按二維碼,關(guān)注公眾號(hào)

          轉(zhuǎn)發(fā)朋友圈,是對(duì)我最大的支持喲

          以上,便是今天的分享,希望大家喜歡,覺得內(nèi)容不錯(cuò)的,歡迎「分享」「」或者點(diǎn)擊「在看」支持,謝謝各位。

          瀏覽 63
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美+日产+中文 | 欧美xxxx操 | 青青青青青操久免费观看电视剧 | 天堂成人在线视频 | 午夜无码成人 |