Produced by Araxis Merge on 8/4/2017 2:45:04 PM Central Daylight 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.
| # | Location | File | Last Modified |
|---|---|---|---|
| 1 | CUI-Release-v2.2.0-source.zip\CUI-Release-v2.2.0-source\etc | redis.conf | Thu Jun 15 19:04:28 2017 UTC |
| 2 | CUI-Release-v2.2.0-source.zip\CUI-Release-v2.2.0-source\etc | redis.conf | Fri Aug 4 14:55:25 2017 UTC |
| Description | Between Files 1 and 2 |
|
|---|---|---|
| Text Blocks | Lines | |
| Unchanged | 2 | 1916 |
| Changed | 1 | 2 |
| Inserted | 0 | 0 |
| Removed | 0 | 0 |
| 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 |
No regular expressions were active.
| 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 |
Araxis Merge (but not the data content of this report) is Copyright © 1993-2016 Araxis Ltd (www.araxis.com). All rights reserved.