36. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 11/16/2017 4:02:37 PM Eastern Standard Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.

36.1 Files compared

# Location File Last Modified
1 CUI-CPP-v2.3.1-release.zip\etc redis.conf Fri Oct 20 20:13:45 2017 UTC
2 CUI-CPP-v2.3.1-release.zip\etc redis.conf Thu Nov 16 18:51:13 2017 UTC

36.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 2 1916
Changed 1 2
Inserted 0 0
Removed 0 0

36.3 Comparison options

Whitespace
Character case Differences in character case are significant
Line endings Differences in line endings (CR and LF characters) are ignored
CR/LF characters Not shown in the comparison detail

36.4 Active regular expressions

No regular expressions were active.

36.5 Comparison detail

  1   # Redis co nfiguratio n file
  2   #
  3   # FIXME: T his config uration fi le is spec ific to a  redis-serv er running
  4   #        o n the same  host as t he web-ser ver... in  the same d ocker-cont ainer.
  5   #        W hen redis  is in its  own contai ner lots o f stuff ne eds to be  changed.
  6   #
  7   # __APP_RO OT__ is a  placeholde r to be re placed wit h the syst em
  8   # environm ent variab le $APP_RO OT - becau se redis d oes not su pport
  9   # environm ent variab les.  Star t redis li ke this:
  10   #
  11   #   sed s+ __APP_ROOT __+$APP_RO OT+g $APP_ ROOT/etc/r edis.conf  | redis-se rver -
  12   #
  13   # The same  is true f or __REDIS _PASSWORD_ _ and $RED IS_PASSWOR D
  14   #
  15   # This way  of starti ng the red is-server  makes the  subsitutio ns and pip es
  16   # the chan ges into r edis-serve r via the  standard i n path den oted by th e
  17   # "-" char acter at t he end of  the line.
  18   #
  19   # Note tha t in order  to read t he configu ration fil e, Redis m ust be
  20   # started  with the f ile path a s first ar gument:
  21   #
  22   # ./redis- server /pa th/to/redi s.conf
  23  
  24   # Note on  units: whe n memory s ize is nee ded, it is  possible  to specify
  25   # it in th e usual fo rm of 1k 5 GB 4M and  so forth:
  26   #
  27   # 1k => 10 00 bytes
  28   # 1kb => 1 024 bytes
  29   # 1m => 10 00000 byte s
  30   # 1mb => 1 024*1024 b ytes
  31   # 1g => 10 00000000 b ytes
  32   # 1gb => 1 024*1024*1 024 bytes
  33   #
  34   # units ar e case ins ensitive s o 1GB 1Gb  1gB are al l the same .
  35  
  36   ########## ########## ########## #### INCLU DES ###### ########## ########## #########
  37  
  38   # Include  one or mor e other co nfig files  here.  Th is is usef ul if you
  39   # have a s tandard te mplate tha t goes to  all Redis  servers bu t also nee d
  40   # to custo mize a few  per-serve r settings .  Include  files can  include
  41   # other fi les, so us e this wis ely.
  42   #
  43   # Notice o ption "inc lude" won' t be rewri tten by co mmand "CON FIG REWRIT E"
  44   # from adm in or Redi s Sentinel . Since Re dis always  uses the  last proce ssed
  45   # line as  value of a  configura tion direc tive, you' d better p ut include s
  46   # at the b eginning o f this fil e to avoid  overwriti ng config  change at  runtime.
  47   #
  48   # If inste ad you are  intereste d in using  includes  to overrid e configur ation
  49   # options,  it is bet ter to use  include a s the last  line.
  50   #
  51   # include  /path/to/l ocal.conf
  52   # include  /path/to/o ther.conf
  53  
  54   ########## ########## ########## #### NETWO RK ####### ########## ########## ##########
  55  
  56   # By defau lt Redis d oes not ru n as a dae mon. Use ' yes' if yo u need it.
  57   # Note tha t Redis wi ll write a  pid file  in /usr/lo cal/var/ru n/redis.pi d when dae monized.
  58   daemonize  yes
  59  
  60   # When run ning daemo nized, Red is writes  a pid file  in /usr/l ocal/var/r un/redis.p id by
  61   # default.  You can s pecify a c ustom pid  file locat ion here.
  62   pidfile __ APP_ROOT__ /tmp/pids/ redis.pid
  63  
  64   # Accept c onnections  on the sp ecified po rt, defaul t is 6379.
  65   # If port  0 is speci fied Redis  will not  listen on  a TCP sock et.
  66   port 6379
  67  
  68   # TCP list en() backl og.
  69   #
  70   # In high  requests-p er-second  environmen ts you nee d an high  backlog in  order
  71   # to avoid  slow clie nts connec tions issu es. Note t hat the Li nux kernel
  72   # will sil ently trun cate it to  the value  of /proc/ sys/net/co re/somaxco nn so
  73   # make sur e to raise  both the  value of s omaxconn a nd tcp_max _syn_backl og
  74   # in order  to get th e desired  effect.
  75   tcp-backlo g 511
  76  
  77   # By defau lt Redis l istens for  connectio ns from al l the netw ork interf aces
  78   # availabl e on the s erver. It  is possibl e to liste n to just  one or mul tiple
  79   # interfac es using t he "bind"  configurat ion direct ive, follo wed by one  or
  80   # more IP  addresses.
  81   #
  82   # Examples :
  83   #
  84   # bind 192 .168.1.100   IP       
  85   bind 127.0 .0.1
  86  
  87   # Specify  the path f or the Uni x socket t hat will b e used to  listen for
  88   # incoming  connectio ns. There  is no defa ult, so Re dis will n ot listen
  89   # on a uni x socket w hen not sp ecified.
  90   #
  91   # unixsock et /tmp/re dis.sock
  92   # unixsock etperm 700
  93  
  94   # Close th e connecti on after a  client is  idle for  N seconds  (0 to disa ble)
  95   timeout 0
  96  
  97   # TCP keep alive.
  98   #
  99   # If non-z ero, use S O_KEEPALIV E to send  TCP ACKs t o clients  in absence
  100   # of commu nication.  This is us eful for t wo reasons :
  101   #
  102   # 1) Detec t dead pee rs.
  103   # 2) Take  the connec tion alive  from the  point of v iew of net work
  104   #    equip ment in th e middle.
  105   #
  106   # On Linux , the spec ified valu e (in seco nds) is th e period u sed to sen d ACKs.
  107   # Note tha t to close  the conne ction the  double of  the time i s needed.
  108   # On other  kernels t he period  depends on  the kerne l configur ation.
  109   #
  110   # A reason able value  for this  option is  60 seconds .
  111   tcp-keepal ive 0
  112  
  113   # Specify  the server  verbosity  level.
  114   # This can  be one of :
  115   # debug (a  lot of in formation,  useful fo r developm ent/testin g)
  116   # verbose  (many rare ly useful  info, but  not a mess  like the  debug leve l)
  117   # notice ( moderately  verbose,  what you w ant in pro duction pr obably)
  118   # warning  (only very  important  / critica l messages  are logge d)
  119   loglevel n otice
  120  
  121   # Specify  the log fi le name. A lso the em pty string  can be us ed to forc e
  122   # Redis to  log on th e standard  output. N ote that i f you use  standard
  123   # output f or logging  but daemo nize, logs  will be s ent to /de v/null
  124   logfile __ APP_ROOT__ /log/redis .log
  125  
  126   # To enabl e logging  to the sys tem logger , just set  'syslog-e nabled' to  yes,
  127   # and opti onally upd ate the ot her syslog  parameter s to suit  your needs .
  128   # syslog-e nabled no
  129  
  130   # Specify  the syslog  identity.
  131   # syslog-i dent redis
  132  
  133   # Specify  the syslog  facility.  Must be U SER or bet ween LOCAL 0-LOCAL7.
  134   # syslog-f acility lo cal0
  135  
  136   # Set the  number of  databases.  The defau lt databas e is DB 0,  you can s elect
  137   # a differ ent one on  a per-con nection ba sis using  SELECT <db id> where
  138   # dbid is  a number b etween 0 a nd 'databa ses'-1
  139   databases  16
  140  
  141   ########## ########## ########## ## SNAPSHO TTING  ### ########## ########## #########
  142   #
  143   # Save the  DB on dis k:
  144   #
  145   #   save < seconds> < changes>
  146   #
  147   #   Will s ave the DB  if both t he given n umber of s econds and  the given
  148   #   number  of write  operations  against t he DB occu rred.
  149   #
  150   #   In the  example b elow the b ehaviour w ill be to  save:
  151   #   after  900 sec (1 5 min) if  at least 1  key chang ed
  152   #   after  300 sec (5  min) if a t least 10  keys chan ged
  153   #   after  60 sec if  at least 1 0000 keys  changed
  154   #
  155   #   Note:  you can di sable savi ng complet ely by com menting ou t all "sav e" lines.
  156   #
  157   #   It is  also possi ble to rem ove all th e previous ly configu red save
  158   #   points  by adding  a save di rective wi th a singl e empty st ring argum ent
  159   #   like i n the foll owing exam ple:
  160   #
  161   #   save " "
  162  
  163   save 900 1
  164   save 300 1 0
  165   save 60 10 000
  166  
  167   # By defau lt Redis w ill stop a ccepting w rites if R DB snapsho ts are ena bled
  168   # (at leas t one save  point) an d the late st backgro und save f ailed.
  169   # This wil l make the  user awar e (in a ha rd way) th at data is  not persi sting
  170   # on disk  properly,  otherwise  chances ar e that no  one will n otice and  some
  171   # disaster  will happ en.
  172   #
  173   # If the b ackground  saving pro cess will  start work ing again  Redis will
  174   # automati cally allo w writes a gain.
  175   #
  176   # However  if you hav e setup yo ur proper  monitoring  of the Re dis server
  177   # and pers istence, y ou may wan t to disab le this fe ature so t hat Redis  will
  178   # continue  to work a s usual ev en if ther e are prob lems with  disk,
  179   # permissi ons, and s o forth.
  180   stop-write s-on-bgsav e-error ye s
  181  
  182   # Compress  string ob jects usin g LZF when  dump .rdb  databases ?
  183   # For defa ult that's  set to 'y es' as it' s almost a lways a wi n.
  184   # If you w ant to sav e some CPU  in the sa ving child  set it to  'no' but
  185   # the data set will l ikely be b igger if y ou have co mpressible  values or  keys.
  186   rdbcompres sion yes
  187  
  188   # Since ve rsion 5 of  RDB a CRC 64 checksu m is place d at the e nd of the  file.
  189   # This mak es the for mat more r esistant t o corrupti on but the re is a pe rformance
  190   # hit to p ay (around  10%) when  saving an d loading  RDB files,  so you ca n disable  it
  191   # for maxi mum perfor mances.
  192   #
  193   # RDB file s created  with check sum disabl ed have a  checksum o f zero tha t will
  194   # tell the  loading c ode to ski p the chec k.
  195   rdbchecksu m yes
  196  
  197   # The file name where  to dump t he DB
  198   dbfilename  dump.rdb
  199  
  200   # The work ing direct ory.
  201   #
  202   # The DB w ill be wri tten insid e this dir ectory, wi th the fil ename spec ified
  203   # above us ing the 'd bfilename'  configura tion direc tive.
  204   #
  205   # The Appe nd Only Fi le will al so be crea ted inside  this dire ctory.
  206   #
  207   # Note tha t you must  specify a  directory  here, not  a file na me.
  208   dir __APP_ ROOT__/tmp /
  209  
  210   ########## ########## ########## ### REPLIC ATION #### ########## ########## #########
  211  
  212   # Master-S lave repli cation. Us e slaveof  to make a  Redis inst ance a cop y of
  213   # another  Redis serv er. A few  things to  understand  ASAP abou t Redis re plication.
  214   #
  215   # 1) Redis  replicati on is asyn chronous,  but you ca n configur e a master  to
  216   #    stop  accepting  writes if  it appears  to be not  connected  with at l east
  217   #    a giv en number  of slaves.
  218   # 2) Redis  slaves ar e able to  perform a  partial re synchroniz ation with  the
  219   #    maste r if the r eplication  link is l ost for a  relatively  small amo unt of
  220   #    time.  You may w ant to con figure the  replicati on backlog  size (see  the next
  221   #    secti ons of thi s file) wi th a sensi ble value  depending  on your ne eds.
  222   # 3) Repli cation is  automatic  and does n ot need us er interve ntion. Aft er a
  223   #    netwo rk partiti on slaves  automatica lly try to  reconnect  to master s
  224   #    and r esynchroni ze with th em.
  225   #
  226   # slaveof  <masterip>  <masterpo rt>
  227  
  228   # If the m aster is p assword pr otected (u sing the " requirepas s" configu ration
  229   # directiv e below) i t is possi ble to tel l the slav e to authe nticate be fore
  230   # starting  the repli cation syn chronizati on process , otherwis e the mast er will
  231   # refuse t he slave r equest.
  232   #
  233   # masterau th <master -password>
  234  
  235   # When a s lave loses  its conne ction with  the maste r, or when  the repli cation
  236   # is still  in progre ss, the sl ave can ac t in two d ifferent w ays:
  237   #
  238   # 1) if sl ave-serve- stale-data  is set to  'yes' (th e default)  the slave  will
  239   #    still  reply to  client req uests, pos sibly with  out of da te data, o r the
  240   #    data  set may ju st be empt y if this  is the fir st synchro nization.
  241   #
  242   # 2) if sl ave-serve- stale-data  is set to  'no' the  slave will  reply wit h
  243   #    an er ror "SYNC  with maste r in progr ess" to al l the kind  of comman ds
  244   #    but t o INFO and  SLAVEOF.
  245   #
  246   slave-serv e-stale-da ta yes
  247  
  248   # You can  configure  a slave in stance to  accept wri tes or not . Writing  against
  249   # a slave  instance m ay be usef ul to stor e some eph emeral dat a (because  data
  250   # written  on a slave  will be e asily dele ted after  resync wit h the mast er) but
  251   # may also  cause pro blems if c lients are  writing t o it becau se of a
  252   # misconfi guration.
  253   #
  254   # Since Re dis 2.6 by  default s laves are  read-only.
  255   #
  256   # Note: re ad only sl aves are n ot designe d to be ex posed to u ntrusted c lients
  257   # on the i nternet. I t's just a  protectio n layer ag ainst misu se of the  instance.
  258   # Still a  read only  slave expo rts by def ault all t he adminis trative co mmands
  259   # such as  CONFIG, DE BUG, and s o forth. T o a limite d extent y ou can imp rove
  260   # security  of read o nly slaves  using 're name-comma nd' to sha dow all th e
  261   # administ rative / d angerous c ommands.
  262   slave-read -only yes
  263  
  264   # Replicat ion SYNC s trategy: d isk or soc ket.
  265   #
  266   # -------- ---------- ---------- ---------- ---------- -------
  267   # WARNING:  DISKLESS  REPLICATIO N IS EXPER IMENTAL CU RRENTLY
  268   # -------- ---------- ---------- ---------- ---------- -------
  269   #
  270   # New slav es and rec onnecting  slaves tha t are not  able to co ntinue the  replicati on
  271   # process  just recei ving diffe rences, ne ed to do w hat is cal led a "ful l
  272   # synchron ization".  An RDB fil e is trans mitted fro m the mast er to the  slaves.
  273   # The tran smission c an happen  in two dif ferent way s:
  274   #
  275   # 1) Disk- backed: Th e Redis ma ster creat es a new p rocess tha t writes t he RDB
  276   #                  fi le on disk . Later th e file is  transferre d by the p arent
  277   #                  pr ocess to t he slaves  incrementa lly.
  278   # 2) Diskl ess: The R edis maste r creates  a new proc ess that d irectly wr ites the
  279   #               RDB f ile to sla ve sockets , without  touching t he disk at  all.
  280   #
  281   # With dis k-backed r eplication , while th e RDB file  is genera ted, more  slaves
  282   # can be q ueued and  served wit h the RDB  file as so on as the  current ch ild produc ing
  283   # the RDB  file finis hes its wo rk. With d iskless re plication  instead on ce
  284   # the tran sfer start s, new sla ves arrivi ng will be  queued an d a new tr ansfer
  285   # will sta rt when th e current  one termin ates.
  286   #
  287   # When dis kless repl ication is  used, the  master wa its a conf igurable a mount of
  288   # time (in  seconds)  before sta rting the  transfer i n the hope  that mult iple slave s
  289   # will arr ive and th e transfer  can be pa rallelized .
  290   #
  291   # With slo w disks an d fast (la rge bandwi dth) netwo rks, diskl ess replic ation
  292   # works be tter.
  293   # repl-dis kless-sync  no
  294  
  295   # When dis kless repl ication is  enabled,  it is poss ible to co nfigure th e delay
  296   # the serv er waits i n order to  spawn the  child tha t transfer s the RDB  via socket
  297   # to the s laves.
  298   #
  299   # This is  important  since once  the trans fer starts , it is no t possible  to serve
  300   # new slav es arrivin g, that wi ll be queu ed for the  next RDB  transfer,  so the ser ver
  301   # waits a  delay in o rder to le t more sla ves arrive .
  302   #
  303   # The dela y is speci fied in se conds, and  by defaul t is 5 sec onds. To d isable
  304   # it entir ely just s et it to 0  seconds a nd the tra nsfer will  start ASA P.
  305   # repl-dis kless-sync -delay 5
  306  
  307   # Slaves s end PINGs  to server  in a prede fined inte rval. It's  possible  to change
  308   # this int erval with  the repl_ ping_slave _period op tion. The  default va lue is 10
  309   # seconds.
  310   #
  311   # repl-pin g-slave-pe riod 10
  312  
  313   # The foll owing opti on sets th e replicat ion timeou t for:
  314   #
  315   # 1) Bulk  transfer I /O during  SYNC, from  the point  of view o f slave.
  316   # 2) Maste r timeout  from the p oint of vi ew of slav es (data,  pings).
  317   # 3) Slave  timeout f rom the po int of vie w of maste rs (REPLCO NF ACK pin gs).
  318   #
  319   # It is im portant to  make sure  that this  value is  greater th an the val ue
  320   # specifie d for repl -ping-slav e-period o therwise a  timeout w ill be det ected
  321   # every ti me there i s low traf fic betwee n the mast er and the  slave.
  322   #
  323   # repl-tim eout 60
  324  
  325   # Disable  TCP_NODELA Y on the s lave socke t after SY NC?
  326   #
  327   # If you s elect "yes " Redis wi ll use a s maller num ber of TCP  packets a nd
  328   # less ban dwidth to  send data  to slaves.  But this  can add a  delay for
  329   # the data  to appear  on the sl ave side,  up to 40 m illisecond s with
  330   # Linux ke rnels usin g a defaul t configur ation.
  331   #
  332   # If you s elect "no"  the delay  for data  to appear  on the sla ve side wi ll
  333   # be reduc ed but mor e bandwidt h will be  used for r eplication .
  334   #
  335   # By defau lt we opti mize for l ow latency , but in v ery high t raffic con ditions
  336   # or when  the master  and slave s are many  hops away , turning  this to "y es" may
  337   # be a goo d idea.
  338   repl-disab le-tcp-nod elay no
  339  
  340   # Set the  replicatio n backlog  size. The  backlog is  a buffer  that accum ulates
  341   # slave da ta when sl aves are d isconnecte d for some  time, so  that when  a slave
  342   # wants to  reconnect  again, of ten a full  resync is  not neede d, but a p artial
  343   # resync i s enough,  just passi ng the por tion of da ta the sla ve missed  while
  344   # disconne cted.
  345   #
  346   # The bigg er the rep lication b acklog, th e longer t he time th e slave ca n be
  347   # disconne cted and l ater be ab le to perf orm a part ial resync hronizatio n.
  348   #
  349   # The back log is onl y allocate d once the re is at l east a sla ve connect ed.
  350   #
  351   # repl-bac klog-size  1mb
  352  
  353   # After a  master has  no longer  connected  slaves fo r some tim e, the bac klog
  354   # will be  freed. The  following  option co nfigures t he amount  of seconds  that
  355   # need to  elapse, st arting fro m the time  the last  slave disc onnected,  for
  356   # the back log buffer  to be fre ed.
  357   #
  358   # A value  of 0 means  to never  release th e backlog.
  359   #
  360   # repl-bac klog-ttl 3 600
  361  
  362   # The slav e priority  is an int eger numbe r publishe d by Redis  in the IN FO output.
  363   # It is us ed by Redi s Sentinel  in order  to select  a slave to  promote i nto a
  364   # master i f the mast er is no l onger work ing correc tly.
  365   #
  366   # A slave  with a low  priority  number is  considered  better fo r promotio n, so
  367   # for inst ance if th ere are th ree slaves  with prio rity 10, 1 00, 25 Sen tinel will
  368   # pick the  one with  priority 1 0, that is  the lowes t.
  369   #
  370   # However  a special  priority o f 0 marks  the slave  as not abl e to perfo rm the
  371   # role of  master, so  a slave w ith priori ty of 0 wi ll never b e selected  by
  372   # Redis Se ntinel for  promotion .
  373   #
  374   # By defau lt the pri ority is 1 00.
  375   slave-prio rity 100
  376  
  377   # It is po ssible for  a master  to stop ac cepting wr ites if th ere are le ss than
  378   # N slaves  connected , having a  lag less  or equal t han M seco nds.
  379   #
  380   # The N sl aves need  to be in " online" st ate.
  381   #
  382   # The lag  in seconds , that mus t be <= th e specifie d value, i s calculat ed from
  383   # the last  ping rece ived from  the slave,  that is u sually sen t every se cond.
  384   #
  385   # This opt ion does n ot GUARANT EE that N  replicas w ill accept  the write , but
  386   # will lim it the win dow of exp osure for  lost write s in case  not enough  slaves
  387   # are avai lable, to  the specif ied number  of second s.
  388   #
  389   # For exam ple to req uire at le ast 3 slav es with a  lag <= 10  seconds us e:
  390   #
  391   # min-slav es-to-writ e 3
  392   # min-slav es-max-lag  10
  393   #
  394   # Setting  one or the  other to  0 disables  the featu re.
  395   #
  396   # By defau lt min-sla ves-to-wri te is set  to 0 (feat ure disabl ed) and
  397   # min-slav es-max-lag  is set to  10.
  398  
  399   ########## ########## ########## #### SECUR ITY ###### ########## ########## #########
  400  
  401   # Require  clients to  issue AUT H <PASSWOR D> before  processing  any other
  402   # commands .  This mi ght be use ful in env ironments  in which y ou do not  trust
  403   # others w ith access  to the ho st running  redis-ser ver.
  404   #
  405   # This sho uld stay c ommented o ut for bac kward comp atibility  and becaus e most
  406   # people d o not need  auth (e.g . they run  their own  servers).
  407   #
  408   # Warning:  since Red is is pret ty fast an  outside u ser can tr y up to
  409   # 150k pas swords per  second ag ainst a go od box. Th is means t hat you sh ould
  410   # use a ve ry strong  password o therwise i t will be  very easy  to break.
  411   #
  412   # requirep ass __REDI S_PASSWORD __
  413  
  414   # Command  renaming.
  415   #
  416   # It is po ssible to  change the  name of d angerous c ommands in  a shared
  417   # environm ent. For i nstance th e CONFIG c ommand may  be rename d into som ething
  418   # hard to  guess so t hat it wil l still be  available  for inter nal-use to ols
  419   # but not  available  for genera l clients.
  420   #
  421   # Example:
  422   #
  423   # rename-c ommand CON FIG b840fc 02d5240454 29941cc15f 59e41cb7be 6c52
  424   #
  425   # It is al so possibl e to compl etely kill  a command  by renami ng it into
  426   # an empty  string:
  427   #
  428   # rename-c ommand CON FIG ""
  429   #
  430   # Please n ote that c hanging th e name of  commands t hat are lo gged into  the
  431   # AOF file  or transm itted to s laves may  cause prob lems.
  432  
  433   ########## ########## ########## ##### LIMI TS ####### ########## ########## #########
  434  
  435   # Set the  max number  of connec ted client s at the s ame time.  By default
  436   # this lim it is set  to 10000 c lients, ho wever if t he Redis s erver is n ot
  437   # able to  configure  the proces s file lim it to allo w for the  specified  limit
  438   # the max  number of  allowed cl ients is s et to the  current fi le limit
  439   # minus 32  (as Redis  reserves  a few file  descripto rs for int ernal uses ).
  440   #
  441   # Once the  limit is  reached Re dis will c lose all t he new con nections s ending
  442   # an error  'max numb er of clie nts reache d'.
  443   #
  444   # maxclien ts 10000
  445  
  446   # Don't us e more mem ory than t he specifi ed amount  of bytes.
  447   # When the  memory li mit is rea ched Redis  will try  to remove  keys
  448   # accordin g to the e viction po licy selec ted (see m axmemory-p olicy).
  449   #
  450   # If Redis  can't rem ove keys a ccording t o the poli cy, or if  the policy  is
  451   # set to ' noeviction ', Redis w ill start  to reply w ith errors  to comman ds
  452   # that wou ld use mor e memory,  like SET,  LPUSH, and  so on, an d will con tinue
  453   # to reply  to read-o nly comman ds like GE T.
  454   #
  455   # This opt ion is usu ally usefu l when usi ng Redis a s an LRU c ache, or t o set
  456   # a hard m emory limi t for an i nstance (u sing the ' noeviction ' policy).
  457   #
  458   # WARNING:  If you ha ve slaves  attached t o an insta nce with m axmemory o n,
  459   # the size  of the ou tput buffe rs needed  to feed th e slaves a re subtrac ted
  460   # from the  used memo ry count,  so that ne twork prob lems / res yncs will
  461   # not trig ger a loop  where key s are evic ted, and i n turn the  output
  462   # buffer o f slaves i s full wit h DELs of  keys evict ed trigger ing the de letion
  463   # of more  keys, and  so forth u ntil the d atabase is  completel y emptied.
  464   #
  465   # In short ... if you  have slav es attache d it is su ggested th at you set  a lower
  466   # limit fo r maxmemor y so that  there is s ome free R AM on the  system for  slave
  467   # output b uffers (bu t this is  not needed  if the po licy is 'n oeviction' ).
  468   #
  469   # maxmemor y <bytes>
  470  
  471   # MAXMEMOR Y POLICY:  how Redis  will selec t what to  remove whe n maxmemor y
  472   # is reach ed. You ca n select a mong five  behaviors:
  473   #
  474   # volatile -lru -> re move the k ey with an  expire se t using an  LRU algor ithm
  475   # allkeys- lru -> rem ove any ke y accordin g to the L RU algorit hm
  476   # volatile -random ->  remove a  random key  with an e xpire set
  477   # allkeys- random ->  remove a r andom key,  any key
  478   # volatile -ttl -> re move the k ey with th e nearest  expire tim e (minor T TL)
  479   # noevicti on -> don' t expire a t all, jus t return a n error on  write ope rations
  480   #
  481   # Note: wi th any of  the above  policies,  Redis will  return an  error on  write
  482   #       op erations,  when there  are no su itable key s for evic tion.
  483   #
  484   #       At  the date  of writing  these com mands are:  set setnx  setex app end
  485   #       in cr decr rp ush lpush  rpushx lpu shx linser t lset rpo plpush sad d
  486   #       si nter sinte rstore sun ion sunion store sdif f sdiffsto re zadd zi ncrby
  487   #       zu nionstore  zinterstor e hset hse tnx hmset  hincrby in crby decrb y
  488   #       ge tset mset  msetnx exe c sort
  489   #
  490   # The defa ult is:
  491   #
  492   # maxmemor y-policy n oeviction
  493  
  494   # LRU and  minimal TT L algorith ms are not  precise a lgorithms  but approx imated
  495   # algorith ms (in ord er to save  memory),  so you can  tune it f or speed o r
  496   # accuracy . For defa ult Redis  will check  five keys  and pick  the one th at was
  497   # used les s recently , you can  change the  sample si ze using t he followi ng
  498   # configur ation dire ctive.
  499   #
  500   # The defa ult of 5 p roduces go od enough  results. 1 0 Approxim ates very  closely
  501   # true LRU  but costs  a bit mor e CPU. 3 i s very fas t but not  very accur ate.
  502   #
  503   # maxmemor y-samples  5
  504  
  505   ########## ########## ##########  APPEND ON LY MODE ## ########## ########## #########
  506  
  507   # By defau lt Redis a synchronou sly dumps  the datase t on disk.  This mode  is
  508   # good eno ugh in man y applicat ions, but  an issue w ith the Re dis proces s or
  509   # a power  outage may  result in to a few m inutes of  writes los t (dependi ng on
  510   # the conf igured sav e points).
  511   #
  512   # The Appe nd Only Fi le is an a lternative  persisten ce mode th at provide s
  513   # much bet ter durabi lity. For  instance u sing the d efault dat a fsync po licy
  514   # (see lat er in the  config fil e) Redis c an lose ju st one sec ond of wri tes in a
  515   # dramatic  event lik e a server  power out age, or a  single wri te if some thing
  516   # wrong wi th the Red is process  itself ha ppens, but  the opera ting syste m is
  517   # still ru nning corr ectly.
  518   #
  519   # AOF and  RDB persis tence can  be enabled  at the sa me time wi thout prob lems.
  520   # If the A OF is enab led on sta rtup Redis  will load  the AOF,  that is th e file
  521   # with the  better du rability g uarantees.
  522   #
  523   # Please c heck http: //redis.io /topics/pe rsistence  for more i nformation .
  524  
  525   appendonly  no
  526  
  527   # The name  of the ap pend only  file (defa ult: "appe ndonly.aof ")
  528  
  529   appendfile name "appe ndonly.aof "
  530  
  531   # The fsyn c() call t ells the O perating S ystem to a ctually wr ite data o n disk
  532   # instead  of waiting  for more  data in th e output b uffer. Som e OS will  really flu sh
  533   # data on  disk, some  other OS  will just  try to do  it ASAP.
  534   #
  535   # Redis su pports thr ee differe nt modes:
  536   #
  537   # no: don' t fsync, j ust let th e OS flush  the data  when it wa nts. Faste r.
  538   # always:  fsync afte r every wr ite to the  append on ly log. Sl ow, Safest .
  539   # everysec : fsync on ly one tim e every se cond. Comp romise.
  540   #
  541   # The defa ult is "ev erysec", a s that's u sually the  right com promise be tween
  542   # speed an d data saf ety. It's  up to you  to underst and if you  can relax  this to
  543   # "no" tha t will let  the opera ting syste m flush th e output b uffer when
  544   # it wants , for bett er perform ances (but  if you ca n live wit h the idea  of
  545   # some dat a loss con sider the  default pe rsistence  mode that' s snapshot ting),
  546   # or on th e contrary , use "alw ays" that' s very slo w but a bi t safer th an
  547   # everysec .
  548   #
  549   # More det ails pleas e check th e followin g article:
  550   # http://a ntirez.com /post/redi s-persiste nce-demyst ified.html
  551   #
  552   # If unsur e, use "ev erysec".
  553  
  554   # appendfs ync always
  555   appendfsyn c everysec
  556   # appendfs ync no
  557  
  558   # When the  AOF fsync  policy is  set to al ways or ev erysec, an d a backgr ound
  559   # saving p rocess (a  background  save or A OF log bac kground re writing) i s
  560   # performi ng a lot o f I/O agai nst the di sk, in som e Linux co nfiguratio ns
  561   # Redis ma y block to o long on  the fsync( ) call. No te that th ere is no  fix for
  562   # this cur rently, as  even perf orming fsy nc in a di fferent th read will  block
  563   # our sync hronous wr ite(2) cal l.
  564   #
  565   # In order  to mitiga te this pr oblem it's  possible  to use the  following  option
  566   # that wil l prevent  fsync() fr om being c alled in t he main pr ocess whil e a
  567   # BGSAVE o r BGREWRIT EAOF is in  progress.
  568   #
  569   # This mea ns that wh ile anothe r child is  saving, t he durabil ity of Red is is
  570   # the same  as "appen dfsync non e". In pra ctical ter ms, this m eans that  it is
  571   # possible  to lose u p to 30 se conds of l og in the  worst scen ario (with  the
  572   # default  Linux sett ings).
  573   #
  574   # If you h ave latenc y problems  turn this  to "yes".  Otherwise  leave it  as
  575   # "no" tha t is the s afest pick  from the  point of v iew of dur ability.
  576  
  577   no-appendf sync-on-re write no
  578  
  579   # Automati c rewrite  of the app end only f ile.
  580   # Redis is  able to a utomatical ly rewrite  the log f ile implic itly calli ng
  581   # BGREWRIT EAOF when  the AOF lo g size gro ws by the  specified  percentage .
  582   #
  583   # This is  how it wor ks: Redis  remembers  the size o f the AOF  file after  the
  584   # latest r ewrite (if  no rewrit e has happ ened since  the resta rt, the si ze of
  585   # the AOF  at startup  is used).
  586   #
  587   # This bas e size is  compared t o the curr ent size.  If the cur rent size  is
  588   # bigger t han the sp ecified pe rcentage,  the rewrit e is trigg ered. Also
  589   # you need  to specif y a minima l size for  the AOF f ile to be  rewritten,  this
  590   # is usefu l to avoid  rewriting  the AOF f ile even i f the perc entage inc rease
  591   # is reach ed but it  is still p retty smal l.
  592   #
  593   # Specify  a percenta ge of zero  in order  to disable  the autom atic AOF
  594   # rewrite  feature.
  595  
  596   auto-aof-r ewrite-per centage 10 0
  597   auto-aof-r ewrite-min -size 64mb
  598  
  599   # An AOF f ile may be  found to  be truncat ed at the  end during  the Redis
  600   # startup  process, w hen the AO F data get s loaded b ack into m emory.
  601   # This may  happen wh en the sys tem where  Redis is r unning
  602   # crashes,  especiall y when an  ext4 files ystem is m ounted wit hout the
  603   # data=ord ered optio n (however  this can' t happen w hen Redis  itself
  604   # crashes  or aborts  but the op erating sy stem still  works cor rectly).
  605   #
  606   # Redis ca n either e xit with a n error wh en this ha ppens, or  load as mu ch
  607   # data as  possible ( the defaul t now) and  start if  the AOF fi le is foun d
  608   # to be tr uncated at  the end.  The follow ing option  controls  this behav ior.
  609   #
  610   # If aof-l oad-trunca ted is set  to yes, a  truncated  AOF file  is loaded  and
  611   # the Redi s server s tarts emit ting a log  to inform  the user  of the eve nt.
  612   # Otherwis e if the o ption is s et to no,  the server  aborts wi th an erro r
  613   # and refu ses to sta rt. When t he option  is set to  no, the us er require s
  614   # to fix t he AOF fil e using th e "redis-c heck-aof"  utility be fore to re start
  615   # the serv er.
  616   #
  617   # Note tha t if the A OF file wi ll be foun d to be co rrupted in  the middl e
  618   # the serv er will st ill exit w ith an err or. This o ption only  applies w hen
  619   # Redis wi ll try to  read more  data from  the AOF fi le but not  enough by tes
  620   # will be  found.
  621   aof-load-t runcated y es
  622  
  623   ########## ########## ########## ## LUA SCR IPTING  ## ########## ########## #########
  624  
  625   # Max exec ution time  of a Lua  script in  millisecon ds.
  626   #
  627   # If the m aximum exe cution tim e is reach ed Redis w ill log th at a scrip t is
  628   # still in  execution  after the  maximum a llowed tim e and will  start to
  629   # reply to  queries w ith an err or.
  630   #
  631   # When a l ong runnin g script e xceeds the  maximum e xecution t ime only t he
  632   # SCRIPT K ILL and SH UTDOWN NOS AVE comman ds are ava ilable. Th e first ca n be
  633   # used to  stop a scr ipt that d id not yet  called wr ite comman ds. The se cond
  634   # is the o nly way to  shut down  the serve r in the c ase a writ e command  was
  635   # already  issued by  the script  but the u ser doesn' t want to  wait for t he natural
  636   # terminat ion of the  script.
  637   #
  638   # Set it t o 0 or a n egative va lue for un limited ex ecution wi thout warn ings.
  639   lua-time-l imit 5000
  640  
  641   ########## ########## ########## ## REDIS C LUSTER  ## ########## ########## #########
  642   #
  643   # ++++++++ ++++++++++ ++++++++++ ++++++++++ ++++++++++ ++++++++++ ++++++++++ ++++++++
  644   # WARNING  EXPERIMENT AL: Redis  Cluster is  considere d to be st able code,  however
  645   # in order  to mark i t as "matu re" we nee d to wait  for a non  trivial pe rcentage
  646   # of users  to deploy  it in pro duction.
  647   # ++++++++ ++++++++++ ++++++++++ ++++++++++ ++++++++++ ++++++++++ ++++++++++ ++++++++
  648   #
  649   # Normal R edis insta nces can't  be part o f a Redis  Cluster; o nly nodes  that are
  650   # started  as cluster  nodes can . In order  to start  a Redis in stance as  a
  651   # cluster  node enabl e the clus ter suppor t uncommen ting the f ollowing:
  652   #
  653   # cluster- enabled ye s
  654  
  655   # Every cl uster node  has a clu ster confi guration f ile. This  file is no t
  656   # intended  to be edi ted by han d. It is c reated and  updated b y Redis no des.
  657   # Every Re dis Cluste r node req uires a di fferent cl uster conf iguration  file.
  658   # Make sur e that ins tances run ning in th e same sys tem do not  have
  659   # overlapp ing cluste r configur ation file  names.
  660   #
  661   # cluster- config-fil e nodes-63 79.conf
  662  
  663   # Cluster  node timeo ut is the  amount of  millisecon ds a node  must be un reachable
  664   # for it t o be consi dered in f ailure sta te.
  665   # Most oth er interna l time lim its are mu ltiple of  the node t imeout.
  666   #
  667   # cluster- node-timeo ut 15000
  668  
  669   # A slave  of a faili ng master  will avoid  to start  a failover  if its da ta
  670   # looks to o old.
  671   #
  672   # There is  no simple  way for a  slave to  actually h ave a exac t measure  of
  673   # its "dat a age", so  the follo wing two c hecks are  performed:
  674   #
  675   # 1) If th ere are mu ltiple sla ves able t o failover , they exc hange mess ages
  676   #    in or der to try  to give a n advantag e to the s lave with  the best
  677   #    repli cation off set (more  data from  the master  processed ).
  678   #    Slave s will try  to get th eir rank b y offset,  and apply  to the sta rt
  679   #    of th e failover  a delay p roportiona l to their  rank.
  680   #
  681   # 2) Every  single sl ave comput es the tim e of the l ast intera ction with
  682   #    its m aster. Thi s can be t he last pi ng or comm and receiv ed (if the  master
  683   #    is st ill in the  "connecte d" state),  or the ti me that el apsed sinc e the
  684   #    disco nnection w ith the ma ster (if t he replica tion link  is current ly down).
  685   #    If th e last int eraction i s too old,  the slave  will not  try to fai lover
  686   #    at al l.
  687   #
  688   # The poin t "2" can  be tuned b y user. Sp ecifically  a slave w ill not pe rform
  689   # the fail over if, s ince the l ast intera ction with  the maste r, the tim e
  690   # elapsed  is greater  than:
  691   #
  692   #   (node- timeout *  slave-vali dity-facto r) + repl- ping-slave -period
  693   #
  694   # So for e xample if  node-timeo ut is 30 s econds, an d the slav e-validity -factor
  695   # is 10, a nd assumin g a defaul t repl-pin g-slave-pe riod of 10  seconds,  the
  696   # slave wi ll not try  to failov er if it w as not abl e to talk  with the m aster
  697   # for long er than 31 0 seconds.
  698   #
  699   # A large  slave-vali dity-facto r may allo w slaves w ith too ol d data to  failover
  700   # a master , while a  too small  value may  prevent th e cluster  from being  able to
  701   # elect a  slave at a ll.
  702   #
  703   # For maxi mum availa bility, it  is possib le to set  the slave- validity-f actor
  704   # to a val ue of 0, w hich means , that sla ves will a lways try  to failove r the
  705   # master r egardless  of the las t time the y interact ed with th e master.
  706   # (However  they'll a lways try  to apply a  delay pro portional  to their
  707   # offset r ank).
  708   #
  709   # Zero is  the only v alue able  to guarant ee that wh en all the  partition s heal
  710   # the clus ter will a lways be a ble to con tinue.
  711   #
  712   # cluster- slave-vali dity-facto r 10
  713  
  714   # Cluster  slaves are  able to m igrate to  orphaned m asters, th at are mas ters
  715   # that are  left with out workin g slaves.  This impro ves the cl uster abil ity
  716   # to resis t to failu res as oth erwise an  orphaned m aster can' t be faile d over
  717   # in case  of failure  if it has  no workin g slaves.
  718   #
  719   # Slaves m igrate to  orphaned m asters onl y if there  are still  at least  a
  720   # given nu mber of ot her workin g slaves f or their o ld master.  This numb er
  721   # is the " migration  barrier".  A migratio n barrier  of 1 means  that a sl ave
  722   # will mig rate only  if there i s at least  1 other w orking sla ve for its  master
  723   # and so f orth. It u sually ref lects the  number of  slaves you  want for  every
  724   # master i n your clu ster.
  725   #
  726   # Default  is 1 (slav es migrate  only if t heir maste rs remain  with at le ast
  727   # one slav e). To dis able migra tion just  set it to  a very lar ge value.
  728   # A value  of 0 can b e set but  is useful  only for d ebugging a nd dangero us
  729   # in produ ction.
  730   #
  731   # cluster- migration- barrier 1
  732  
  733   # By defau lt Redis C luster nod es stop ac cepting qu eries if t hey detect  there
  734   # is at le ast an has h slot unc overed (no  available  node is s erving it) .
  735   # This way  if the cl uster is p artially d own (for e xample a r ange of ha sh slots
  736   # are no l onger cove red) all t he cluster  becomes,  eventually , unavaila ble.
  737   # It autom atically r eturns ava ilable as  soon as al l the slot s are cove red again.
  738   #
  739   # However  sometimes  you want t he subset  of the clu ster which  is workin g,
  740   # to conti nue to acc ept querie s for the  part of th e key spac e that is  still
  741   # covered.  In order  to do so,  just set t he cluster -require-f ull-covera ge
  742   # option t o no.
  743   #
  744   # cluster- require-fu ll-coverag e yes
  745  
  746   # In order  to setup  your clust er make su re to read  the docum entation
  747   # availabl e at http: //redis.io  web site.
  748  
  749   ########## ########## ########## #### SLOW  LOG ###### ########## ########## #########
  750  
  751   # The Redi s Slow Log  is a syst em to log  queries th at exceede d a specif ied
  752   # executio n time. Th e executio n time doe s not incl ude the I/ O operatio ns
  753   # like tal king with  the client , sending  the reply  and so for th,
  754   # but just  the time  needed to  actually e xecute the  command ( this is th e only
  755   # stage of  command e xecution w here the t hread is b locked and  can not s erve
  756   # other re quests in  the meanti me).
  757   #
  758   # You can  configure  the slow l og with tw o paramete rs: one te lls Redis
  759   # what is  the execut ion time,  in microse conds, to  exceed in  order for  the
  760   # command  to get log ged, and t he other p arameter i s the leng th of the
  761   # slow log . When a n ew command  is logged  the oldes t one is r emoved fro m the
  762   # queue of  logged co mmands.
  763  
  764   # The foll owing time  is expres sed in mic roseconds,  so 100000 0 is equiv alent
  765   # to one s econd. Not e that a n egative nu mber disab les the sl ow log, wh ile
  766   # a value  of zero fo rces the l ogging of  every comm and.
  767   slowlog-lo g-slower-t han 10000
  768  
  769   # There is  no limit  to this le ngth. Just  be aware  that it wi ll consume  memory.
  770   # You can  reclaim me mory used  by the slo w log with  SLOWLOG R ESET.
  771   slowlog-ma x-len 128
  772  
  773   ########## ########## ########## ## LATENCY  MONITOR # ########## ########## #########
  774  
  775   # The Redi s latency  monitoring  subsystem  samples d ifferent o perations
  776   # at runti me in orde r to colle ct data re lated to p ossible so urces of
  777   # latency  of a Redis  instance.
  778   #
  779   # Via the  LATENCY co mmand this  informati on is avai lable to t he user th at can
  780   # print gr aphs and o btain repo rts.
  781   #
  782   # The syst em only lo gs operati ons that w ere perfor med in a t ime equal  or
  783   # greater  than the a mount of m illisecond s specifie d via the
  784   # latency- monitor-th reshold co nfiguratio n directiv e. When it s value is  set
  785   # to zero,  the laten cy monitor  is turned  off.
  786   #
  787   # By defau lt latency  monitorin g is disab led since  it is most ly not nee ded
  788   # if you d on't have  latency is sues, and  collecting  data has  a performa nce
  789   # impact,  that while  very smal l, can be  measured u nder big l oad. Laten cy
  790   # monitori ng can eas ily be ena bled at ru ntime usin g the comm and
  791   # "CONFIG  SET latenc y-monitor- threshold  <milliseco nds>" if n eeded.
  792   latency-mo nitor-thre shold 0
  793  
  794   ########## ########## #########  EVENT NOTI FICATION # ########## ########## #########
  795  
  796   # Redis ca n notify P ub/Sub cli ents about  events ha ppening in  the key s pace.
  797   # This fea ture is do cumented a t http://r edis.io/to pics/notif ications
  798   #
  799   # For inst ance if ke yspace eve nts notifi cation is  enabled, a nd a clien t
  800   # performs  a DEL ope ration on  key "foo"  stored in  the Databa se 0, two
  801   # messages  will be p ublished v ia Pub/Sub :
  802   #
  803   # PUBLISH  __keyspace @0__:foo d el
  804   # PUBLISH  __keyevent @0__:del f oo
  805   #
  806   # It is po ssible to  select the  events th at Redis w ill notify  among a s et
  807   # of class es. Every  class is i dentified  by a singl e characte r:
  808   #
  809   #  K     K eyspace ev ents, publ ished with  __keyspac e@<db>__ p refix.
  810   #  E     K eyevent ev ents, publ ished with  __keyeven t@<db>__ p refix.
  811   #  g     G eneric com mands (non -type spec ific) like  DEL, EXPI RE, RENAME , ...
  812   #  $     S tring comm ands
  813   #  l     L ist comman ds
  814   #  s     S et command s
  815   #  h     H ash comman ds
  816   #  z     S orted set  commands
  817   #  x     E xpired eve nts (event s generate d every ti me a key e xpires)
  818   #  e     E victed eve nts (event s generate d when a k ey is evic ted for ma xmemory)
  819   #  A     A lias for g $lshzxe, s o that the  "AKE" str ing means  all the ev ents.
  820   #
  821   #  The "no tify-keysp ace-events " takes as  argument  a string t hat is com posed
  822   #  of zero  or multip le charact ers. The e mpty strin g means th at notific ations
  823   #  are dis abled.
  824   #
  825   #  Example : to enabl e list and  generic e vents, fro m the poin t of view  of the
  826   #            event na me, use:
  827   #
  828   #  notify- keyspace-e vents Elg
  829   #
  830   #  Example  2: to get  the strea m of the e xpired key s subscrib ing to cha nnel
  831   #              name _ _keyevent@ 0__:expire d use:
  832   #
  833   #  notify- keyspace-e vents Ex
  834   #
  835   #  By defa ult all no tification s are disa bled becau se most us ers don't  need
  836   #  this fe ature and  the featur e has some  overhead.  Note that  if you do n't
  837   #  specify  at least  one of K o r E, no ev ents will  be deliver ed.
  838   notify-key space-even ts ""
  839  
  840   ########## ########## ########## # ADVANCED  CONFIG ## ########## ########## #########
  841  
  842   # Hashes a re encoded  using a m emory effi cient data  structure  when they  have a
  843   # small nu mber of en tries, and  the bigge st entry d oes not ex ceed a giv en
  844   # threshol d. These t hresholds  can be con figured us ing the fo llowing di rectives.
  845   hash-max-z iplist-ent ries 512
  846   hash-max-z iplist-val ue 64
  847  
  848   # Similarl y to hashe s, small l ists are a lso encode d in a spe cial way i n order
  849   # to save  a lot of s pace. The  special re presentati on is only  used when
  850   # you are  under the  following  limits:
  851   list-max-z iplist-ent ries 512
  852   list-max-z iplist-val ue 64
  853  
  854   # Sets hav e a specia l encoding  in just o ne case: w hen a set  is compose d
  855   # of just  strings th at happen  to be inte gers in ra dix 10 in  the range
  856   # of 64 bi t signed i ntegers.
  857   # The foll owing conf iguration  setting se ts the lim it in the  size of th e
  858   # set in o rder to us e this spe cial memor y saving e ncoding.
  859   set-max-in tset-entri es 512
  860  
  861   # Similarl y to hashe s and list s, sorted  sets are a lso specia lly encode d in
  862   # order to  save a lo t of space . This enc oding is o nly used w hen the le ngth and
  863   # elements  of a sort ed set are  below the  following  limits:
  864   zset-max-z iplist-ent ries 128
  865   zset-max-z iplist-val ue 64
  866  
  867   # HyperLog Log sparse  represent ation byte s limit. T he limit i ncludes th e
  868   # 16 bytes  header. W hen an Hyp erLogLog u sing the s parse repr esentation  crosses
  869   # this lim it, it is  converted  into the d ense repre sentation.
  870   #
  871   # A value  greater th an 16000 i s totally  useless, s ince at th at point t he
  872   # dense re presentati on is more  memory ef ficient.
  873   #
  874   # The sugg ested valu e is ~ 300 0 in order  to have t he benefit s of
  875   # the spac e efficien t encoding  without s lowing dow n too much  PFADD,
  876   # which is  O(N) with  the spars e encoding . The valu e can be r aised to
  877   # ~ 10000  when CPU i s not a co ncern, but  space is,  and the d ata set is
  878   # composed  of many H yperLogLog s with car dinality i n the 0 -  15000 rang e.
  879   hll-sparse -max-bytes  3000
  880  
  881   # Active r ehashing u ses 1 mill isecond ev ery 100 mi lliseconds  of CPU ti me in
  882   # order to  help reha shing the  main Redis  hash tabl e (the one  mapping t op-level
  883   # keys to  values). T he hash ta ble implem entation R edis uses  (see dict. c)
  884   # performs  a lazy re hashing: t he more op eration yo u run into  a hash ta ble
  885   # that is  rehashing,  the more  rehashing  "steps" ar e performe d, so if t he
  886   # server i s idle the  rehashing  is never  complete a nd some mo re memory  is used
  887   # by the h ash table.
  888   #
  889   # The defa ult is to  use this m illisecond  10 times  every seco nd in orde r to
  890   # actively  rehash th e main dic tionaries,  freeing m emory when  possible.
  891   #
  892   # If unsur e:
  893   # use "act iverehashi ng no" if  you have h ard latenc y requirem ents and i t is
  894   # not a go od thing i n your env ironment t hat Redis  can reply  from time  to time
  895   # to queri es with 2  millisecon ds delay.
  896   #
  897   # use "act iverehashi ng yes" if  you don't  have such  hard requ irements b ut
  898   # want to  free memor y asap whe n possible .
  899   activereha shing yes
  900  
  901   # The clie nt output  buffer lim its can be  used to f orce disco nnection o f clients
  902   # that are  not readi ng data fr om the ser ver fast e nough for  some reaso n (a
  903   # common r eason is t hat a Pub/ Sub client  can't con sume messa ges as fas t as the
  904   # publishe r can prod uce them).
  905   #
  906   # The limi t can be s et differe ntly for t he three d ifferent c lasses of  clients:
  907   #
  908   # normal - > normal c lients inc luding MON ITOR clien ts
  909   # slave  - > slave cl ients
  910   # pubsub - > clients  subscribed  to at lea st one pub sub channe l or patte rn
  911   #
  912   # The synt ax of ever y client-o utput-buff er-limit d irective i s the foll owing:
  913   #
  914   # client-o utput-buff er-limit < class> <ha rd limit>  <soft limi t> <soft s econds>
  915   #
  916   # A client  is immedi ately disc onnected o nce the ha rd limit i s reached,  or if
  917   # the soft  limit is  reached an d remains  reached fo r the spec ified numb er of
  918   # seconds  (continuou sly).
  919   # So for i nstance if  the hard  limit is 3 2 megabyte s and the  soft limit  is
  920   # 16 megab ytes / 10  seconds, t he client  will get d isconnecte d immediat ely
  921   # if the s ize of the  output bu ffers reac h 32 megab ytes, but  will also  get
  922   # disconne cted if th e client r eaches 16  megabytes  and contin uously ove rcomes
  923   # the limi t for 10 s econds.
  924   #
  925   # By defau lt normal  clients ar e not limi ted becaus e they don 't receive  data
  926   # without  asking (in  a push wa y), but ju st after a  request,  so only
  927   # asynchro nous clien ts may cre ate a scen ario where  data is r equested f aster
  928   # than it  can read.
  929   #
  930   # Instead  there is a  default l imit for p ubsub and  slave clie nts, since
  931   # subscrib ers and sl aves recei ve data in  a push fa shion.
  932   #
  933   # Both the  hard or t he soft li mit can be  disabled  by setting  them to z ero.
  934   client-out put-buffer -limit nor mal 0 0 0
  935   client-out put-buffer -limit sla ve 256mb 6 4mb 60
  936   client-out put-buffer -limit pub sub 32mb 8 mb 60
  937  
  938   # Redis ca lls an int ernal func tion to pe rform many  backgroun d tasks, l ike
  939   # closing  connection s of clien ts in time out, purgi ng expired  keys that  are
  940   # never re quested, a nd so fort h.
  941   #
  942   # Not all  tasks are  performed  with the s ame freque ncy, but R edis check s for
  943   # tasks to  perform a ccording t o the spec ified "hz"  value.
  944   #
  945   # By defau lt "hz" is  set to 10 . Raising  the value  will use m ore CPU wh en
  946   # Redis is  idle, but  at the sa me time wi ll make Re dis more r esponsive  when
  947   # there ar e many key s expiring  at the sa me time, a nd timeout s may be
  948   # handled  with more  precision.
  949   #
  950   # The rang e is betwe en 1 and 5 00, howeve r a value  over 100 i s usually  not
  951   # a good i dea. Most  users shou ld use the  default o f 10 and r aise this  up to
  952   # 100 only  in enviro nments whe re very lo w latency  is require d.
  953   hz 10
  954  
  955   # When a c hild rewri tes the AO F file, if  the follo wing optio n is enabl ed
  956   # the file  will be f sync-ed ev ery 32 MB  of data ge nerated. T his is use ful
  957   # in order  to commit  the file  to the dis k more inc rementally  and avoid
  958   # big late ncy spikes .
  959   aof-rewrit e-incremen tal-fsync  yes