1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
|
#
Redis configuration file example #
Note on
units: when
memory size
is
needed, it is
possible to
specify #
it in
the usual form of
1k 5GB 4M and
so forth: #
#
1k => 1000 bytes #
1kb => 1024 bytes #
1m => 1000000 bytes #
1mb => 1024*1024 bytes #
1g => 1000000000 bytes #
1gb => 1024*1024*1024 bytes #
#
units are case
insensitive
so 1GB 1Gb 1gB are all
the same. #
By
default
Redis does not
run as
a daemon. Use ‘yes‘
if you need it. #
Note that Redis will write a pid file in
/var/run/redis.pid when
daemonized. daemonize
no #
When
running daemonized, Redis writes a pid file in
/var/run/redis.pid by #
default .
You can specify a custom pid file location here. pidfile
/var/run/redis.pid #
Accept connections on
the specified port, default
is
6379. #
If port 0 is
specified Redis will not
listen on
a TCP socket. port
6379 #
If you want you can bind a single interface, if the bind option
is
not #
specified all
the interfaces will listen for
incoming connections. #
#
bind 127.0.0.1 #
Specify the path for
the unix socket that will be used to
listen for #
incoming connections. There is
no
default ,
so Redis will not
listen #
on
a unix socket when
not
specified. #
#
unixsocket /tmp/redis.sock #
unixsocketperm 755 #
Close
the connection
after
a client is
idle for
N seconds (0 to
disable) timeout
0 #
TCP keepalive. #
#
If non-zero, use SO_KEEPALIVE to
send TCP ACKs to
clients in
absence #
of
communication. This is
useful for
two reasons: #
#
1) Detect dead peers. #
2) Take the connection
alive from
the point of
view
of
network #
equipment in
the middle. #
#
On
Linux, the specified value ( in
seconds) is
the period used to
send ACKs. #
Note that to
close
the connection
the double
of
the time
is
needed. #
On
other kernels the period depends on
the kernel configuration. #
#
A reasonable value for
this option
is
60 seconds. tcp-keepalive
0 #
Specify the server verbosity level .
#
This can be one of :
#
debug (a lot of
information, useful for
development/testing) #
verbose (many rarely useful info, but not
a mess like
the debug level )
#
notice (moderately verbose, what you want in
production probably) #
warning ( only
very important / critical messages are logged) loglevel
notice #
Specify the log file name .
Also ‘stdout‘
can be used to
force #
Redis to
log on
the standard output .
Note that if you use standard #
output
for
logging but daemonize, logs will be sent to
/dev/ null logfile
stdout #
To
enable logging to
the system logger, just set
‘syslog-enabled‘
to
yes, #
and
optionally update
the other syslog parameters to
suit your needs. #
syslog-enabled no #
Specify the syslog identity. #
syslog-ident redis #
Specify the syslog facility. Must be USER
or
between
LOCAL0-LOCAL7. #
syslog-facility local0 #
Set
the number of
databases. The default
database
is
DB 0, you can select #
a different one on
a per- connection
basis using SELECT
<dbid> where #
dbid is
a number between
0 and
‘databases‘ -1
databases
16 ################################
SNAPSHOTTING ################################# #
#
Save the DB on
disk: #
#
save <seconds> <changes> #
#
Will save the DB if both the given number of
seconds and
the given #
number of
write operations against the DB occurred. #
#
In
the example below the behaviour will be to
save: #
after
900 sec (15 min )
if at
least 1 key
changed #
after
300 sec (5 min )
if at
least 10 keys changed #
after
60 sec if at
least 10000 keys changed #
#
Note: you can disable saving at
all
commenting all
the "save"
lines. #
#
It is
also possible to
remove all
the previously configured save #
points by
adding a save directive with
a single empty string argument #
like
in
the following example: #
#
save "" save
900 1 save
300 10 save
60 10000 #
By
default
Redis will stop accepting writes if RDB snapshots are enabled #
( at
least one save point) and
the latest background save failed. #
This will make the user
aware ( in
an hard way) that data is
not
persisting #
on
disk properly, otherwise chances are that no
one will notice and
some #
distater will happen. #
#
If the background saving process will start working again Redis will #
automatically allow writes again. #
#
However if you have setup your proper monitoring of
the Redis server #
and
persistence, you may want to
disable this feature so that Redis will #
continue
to
work
as
usually even if there are problems with
disk, #
permissions, and
so forth. stop-writes- on -bgsave-error
yes #
Compress string objects using LZF when
dump .rdb databases? #
For
default
that ‘s
set to ‘ yes ‘
as it‘ s
almost always a win. #
If you want to
save some
CPU in
the saving child set
it to
‘no‘
but #
the dataset will likely be bigger if you have compressible values
or
keys. rdbcompression
yes #
Since version 5 of
RDB a CRC64 checksum is
placed at
the end
of
the file. #
This makes the format more resistant to
corruption but there is
a performance #
hit to
pay (around 10%) when
saving and
loading RDB files, so you can disable it #
for
maximum performances. #
#
RDB files created with
checksum disabled have a checksum of
zero that will #
tell the loading code to
skip the check .
rdbchecksum
yes #
The filename where
to
dump the DB dbfilename
dump.rdb #
The working directory. #
#
The DB will be written inside this directory, with
the filename specified #
above using the ‘dbfilename‘
configuration directive. #
#
The Append Only
File will also be created inside this directory. #
#
Note that you must specify a directory here, not
a file name .
dir
./ #################################
REPLICATION ################################# #
Master-Slave replication. Use slaveof to
make a Redis instance a copy of #
another Redis server. Note that the configuration is
local
to
the slave #
so for
example it is
possible to
configure the slave to
save the DB with
a #
different interval, or
to
listen to
another port, and
so on .
#
#
slaveof <masterip> <masterport> #
If the master is
password
protected (using the "requirepass"
configuration #
directive below) it is
possible to
tell the slave to
authenticate before #
starting the replication synchronization process, otherwise the master will
#
refuse the slave request. #
#
masterauth <master- password >
#
When
a slave loses its connection
with
the master, or
when
the replication #
is
still in
progress, the slave can act in
two different ways: #
#
1) if slave-serve-stale-data is
set
to
‘yes‘
(the default )
the slave will #
still reply to
client requests, possibly with
out
of
date
data, or
the #
data set
may just be empty if this is
the first
synchronization. #
#
2) if slave-serve-stale-data is
set
to
‘no‘
the slave will reply with #
an error "SYNC
with master in progress"
to
all
the kind of
commands #
but to
INFO and
SLAVEOF. #
slave-serve-stale-data
yes #
You can configure a slave instance to
accept writes or
not .
Writing against #
a slave instance may be useful to
store some
ephemeral data (because data #
written on
a slave will be easily deleted after
resync with
the master) but #
may also cause problems if clients are writing to
it because of
a #
misconfiguration. #
#
Since Redis 2.6 by
default
slaves are read - only .
#
#
Note: read
only
slaves are not
designed to
be exposed to
untrusted clients #
on
the internet. It ‘s
just a protection layer against misuse of the instance. #
Still a read only slave exports by default all the administrative commands
#
such as CONFIG, DEBUG, and so forth. To a limited extend you can improve
#
security of read only slaves using ‘ rename-command ‘
to shadow all the #
administrative / dangerous commands. slave-read-only
yes #
Slaves send PINGs to server in a predefined interval. It‘ s
possible to
change #
this interval with
the repl_ping_slave_period option .
The default
value is
10 #
seconds. #
#
repl-ping-slave-period 10 #
The following option
sets a timeout for
both Bulk transfer I/O timeout and #
master data or
ping response timeout. The default
value is
60 seconds. #
#
It is
important to
make sure that this value is
greater than the value #
specified for
repl-ping-slave-period otherwise a timeout will be detected #
every time
there is
low traffic between
the master and
the slave. #
#
repl-timeout 60 #
Disable TCP_NODELAY on
the slave socket after
SYNC? #
#
If you select
"yes"
Redis will use a smaller number of
TCP packets and #
less bandwidth to
send data to
slaves. But this can add
a delay for #
the data to
appear on
the slave side, up to
40 milliseconds with #
Linux kernels using a default
configuration. #
#
If you select
"no"
the delay for
data to
appear on
the slave side will #
be reduced but more bandwidth will be used for
replication. #
#
By
default
we optimize for
low latency, but in
very high traffic conditions #
or
when
the master and
slaves are many hops away, turning this to
"yes"
may #
be a good idea. repl-disable-tcp-nodelay
no #
The slave priority is
an integer
number published by
Redis in
the INFO output .
#
It is
used by
Redis Sentinel in
order
to
select
a slave to
promote into
a #
master if the master is
no
longer working correctly. #
#
A slave with
a low priority number is
considered better for
promotion, so #
for
instance if there are three slaves with
priority 10, 100, 25 Sentinel will #
pick the one wtih priority 10, that is
the lowest. #
#
However a special priority of
0 marks the slave as
not
able to
perform the #
role of
master, so a slave with
priority of
0 will never be selected by #
Redis Sentinel for
promotion. #
#
By
default
the priority is
100. slave-priority
100 ##################################
SECURITY ################################### #
Require clients to
issue AUTH < PASSWORD >
before processing any
other #
commands. This might be useful in
environments in
which you do not
trust #
others with
access to
the host running redis-server. #
#
This should stay commented out
for
backward compatibility and
because most #
people do not
need auth (e.g. they run their own servers). #
#
Warning: since Redis is
pretty fast an outside user
can try up to #
150k passwords per second
against a good box. This means that you should #
use a very strong password
otherwise it will be very easy to
break. #
#
requirepass foobared #
Command renaming. #
#
It is
possible to
change the name
of
dangerous commands in
a shared #
environment. For
instance the CONFIG command may be renamed into
something #
hard to
guess so that it will still be available for
internal-use tools #
but not
available for
general clients. #
#
Example: #
#
rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52 #
#
It is
also possible to
completely kill a command by
renaming it into #
an empty string: #
#
rename-command CONFIG "" #
#
Please note that changing the name
of
commands that are logged into
the #
AOF file or
transmitted to
slaves may cause problems. ###################################
LIMITS #################################### #
Set
the max
number of
connected clients at
the same time .
By
default #
this limit is
set
to
10000 clients, however if the Redis server is
not #
able to
configure the process file limit to
allow for
the specified limit #
the max
number of
allowed clients is
set
to
the current
file limit #
minus 32 ( as
Redis reserves a few file descriptors for
internal uses). #
#
Once the limit is
reached Redis will close
all
the new connections sending #
an error ‘max
number of clients reached‘ .
#
#
maxclients 10000 #
Don ‘t
use more memory than the specified amount of bytes. #
When the memory limit is reached Redis will try to remove keys #
accordingly to the eviction policy selected (see maxmemmory-policy). #
#
If Redis can‘ t
remove keys according to
the policy, or
if the policy is #
set
to
‘noeviction‘ ,
Redis will start to
reply with
errors to
commands #
that would use more memory, like
SET ,
LPUSH, and
so on ,
and
will continue #
to
reply to
read - only
commands like
GET. #
#
This option
is
usually useful when
using Redis as
an LRU cache, or
to
set #
an hard memory limit for
an instance (using the ‘noeviction‘
policy). #
#
WARNING: If you have slaves attached to
an instance with
maxmemory on ,
#
the size
of
the output
buffers needed to
feed the slaves are subtracted #
from
the used memory count ,
so that network problems / resyncs will #
not
trigger
a loop where
keys are evicted, and
in
turn the output #
buffer of
slaves is
full
with
DELs of
keys evicted triggering the deletion #
of
more keys, and
so forth until the database
is
completely emptied. #
#
In
short... if you have slaves attached it is
suggested that you set
a lower #
limit for
maxmemory so that there is
some
free
RAM on
the system for
slave #
output
buffers (but this is
not
needed if the policy is
‘noeviction‘ ).
#
#
maxmemory <bytes> #
MAXMEMORY POLICY: how Redis will select
what to
remove when
maxmemory #
is
reached. You can select
among five behaviors: #
#
volatile-lru -> remove the key
with
an expire set
using an LRU algorithm #
allkeys-lru -> remove any
key
accordingly to
the LRU algorithm #
volatile-random -> remove a random key
with
an expire set #
allkeys-random -> remove a random key ,
any
key #
volatile-ttl -> remove the key
with
the nearest expire time
(minor TTL) #
noeviction -> don ‘t
expire at all, just return an error on write operations #
#
Note: with any of the above policies, Redis will return an error on write
#
operations, when there are not suitable keys for eviction. #
#
At the date of writing this commands are: set setnx setex append #
incr decr rpush lpush rpushx lpushx linsert lset rpoplpush sadd #
sinter sinterstore sunion sunionstore sdiff sdiffstore zadd zincrby #
zunionstore zinterstore hset hsetnx hmset hincrby incrby decrby #
getset mset msetnx exec sort #
#
The default is: #
#
maxmemory-policy volatile-lru #
LRU and minimal TTL algorithms are not precise algorithms but approximated
#
algorithms (in order to save memory), so you can select as well the sample
#
size to check. For instance for default Redis will check three keys and
#
pick the one that was used less recently, you can change the sample size
#
using the following configuration directive. #
#
maxmemory-samples 3 ##############################
APPEND ONLY MODE ############################### #
By default Redis asynchronously dumps the dataset on disk. This mode is
#
good enough in many applications, but an issue with the Redis process or
#
a power outage may result into a few minutes of writes lost (depending on
#
the configured save points). #
#
The Append Only File is an alternative persistence mode that provides #
much better durability. For instance using the default data fsync policy
#
(see later in the config file) Redis can lose just one second of writes in a
#
dramatic event like a server power outage, or a single write if something
#
wrong with the Redis process itself happens, but the operating system is
#
still running correctly. #
#
AOF and RDB persistence can be enabled at the same time without problems.
#
If the AOF is enabled on startup Redis will load the AOF, that is the file
#
with the better durability guarantees. #
#
Please check
http://redis.io/topics/persistence for more information. appendonly
no #
The name of the append only file (default: "appendonly.aof") #
appendfilename appendonly.aof #
The fsync() call tells the Operating System to actually write data on disk
#
instead to wait for more data in the output buffer. Some OS will really flush
#
data on disk, some other OS will just try to do it ASAP. #
#
Redis supports three different modes: #
#
no: don‘ t
fsync, just let the OS flush the data when
it wants. Faster. #
always: fsync after
every write to
the append only
log . Slow, Safest. #
everysec: fsync only
one time
every second .
Compromise. #
#
The default
is
"everysec" ,
as
that ‘s
usually the right compromise between #
speed and data safety. It‘ s
up to
you to
understand if you can relax this to #
"no"
that will let the operating system flush the output
buffer when #
it wants, for
better performances (but if you can live with
the idea of #
some
data loss consider the default
persistence mode that ‘s
snapshotting), #
or on the contrary, use "always" that‘ s
very slow but a bit
safer than #
everysec. #
#
More details please check
the following article: #
#
If unsure, use "everysec" .
#
appendfsync always appendfsync
everysec #
appendfsync no #
When
the AOF fsync policy is
set
to
always or
everysec, and
a background #
saving process (a background save or
AOF log background rewriting) is #
performing a lot of
I/O against the disk, in
some
Linux configurations #
Redis may block too long on
the fsync() call. Note that there is
no
fix for #
this currently, as
even performing fsync in
a different thread will block #
our synchronous write(2) call. #
#
In
order
to
mitigate this problem it ‘s
possible to use the following option #
that will prevent fsync() from being called in the main process while a
#
BGSAVE or BGREWRITEAOF is in progress. #
#
This means that while another child is saving, the durability of Redis is
#
the same as "appendfsync none". In practical terms, this means that it is
#
possible to lose up to 30 seconds of log in the worst scenario (with the
#
default Linux settings). #
#
If you have latency problems turn this to "yes". Otherwise leave it as #
"no" that is the safest pick from the point of view of durability. no-appendfsync-on-rewrite
no #
Automatic rewrite of the append only file. #
Redis is able to automatically rewrite the log file implicitly calling #
BGREWRITEAOF when the AOF log size grows by the specified percentage. #
#
This is how it works: Redis remembers the size of the AOF file after the
#
latest rewrite (if no rewrite has happened since the restart, the size of
#
the AOF at startup is used). #
#
This base size is compared to the current size. If the current size is #
bigger than the specified percentage, the rewrite is triggered. Also #
you need to specify a minimal size for the AOF file to be rewritten, this
#
is useful to avoid rewriting the AOF file even if the percentage increase
#
is reached but it is still pretty small. #
#
Specify a percentage of zero in order to disable the automatic AOF #
rewrite feature. auto-aof-rewrite-percentage
100 auto-aof-rewrite-min-size
64mb ################################
LUA SCRIPTING ############################### #
Max execution time of a Lua script in milliseconds. #
#
If the maximum execution time is reached Redis will log that a script is
#
still in execution after the maximum allowed time and will start to #
reply to queries with an error. #
#
When a long running script exceed the maximum execution time only the #
SCRIPT KILL and SHUTDOWN NOSAVE commands are available. The first can be
#
used to stop a script that did not yet called write commands. The second
#
is the only way to shut down the server in the case a write commands was
#
already issue by the script but the user don‘ t
want to
wait for
the natural #
termination of
the script. #
#
Set
it to
0 or
a negative value for
unlimited execution without warnings. lua- time -limit
5000 ##################################
SLOW LOG ################################### #
The Redis Slow Log is
a system to
log queries that exceeded a specified #
execution time .
The execution time
does not
include the I/O operations #
like
talking with
the client, sending the reply and
so forth, #
but just the time
needed to
actually execute
the command (this is
the only #
stage of
command execution where
the thread is
blocked and
can not
serve #
other requests in
the meantime). #
#
You can configure the slow log with
two parameters: one tells Redis #
what is
the execution time ,
in
microseconds, to
exceed in
order
for
the #
command to
get logged, and
the other parameter is
the length of
the #
slow log. When
a new command is
logged the oldest one is
removed from
the #
queue of
logged commands. #
The following time
is
expressed in
microseconds, so 1000000 is
equivalent #
to
one second .
Note that a negative number disables the slow log, while #
a value of
zero forces the logging of
every command. slowlog-log-slower-than
10000 #
There is
no
limit to
this length. Just be aware that it will consume memory. #
You can reclaim memory used by
the slow log with
SLOWLOG RESET. slowlog- max -len
128 ###############################
ADVANCED CONFIG ############################### #
Hashes are encoded using a memory efficient data structure when
they have a #
small number of
entries, and
the biggest entry does not
exceed a given #
threshold. These thresholds can be configured using the following directives.
hash- max -ziplist-entries
512 hash- max -ziplist-value
64 #
Similarly to
hashes, small lists are also encoded in
a special way in
order #
to
save a lot of
space .
The special representation is
only
used when #
you are under the following limits: list- max -ziplist-entries
512 list- max -ziplist-value
64 #
Sets have a special encoding in
just one case :
when
a set
is
composed #
of
just strings that happens to
be integers in
radix 10 in
the range #
of
64 bit
signed integers. #
The following configuration setting sets the limit in
the size
of
the #
set
in
order
to
use this special memory saving encoding. set - max -intset-entries
512 #
Similarly to
hashes and
lists, sorted sets are also specially encoded in #
order
to
save a lot of
space .
This encoding is
only
used when
the length and #
elements of
a sorted set
are below the following limits: zset- max -ziplist-entries
128 zset- max -ziplist-value
64 #
Active rehashing uses 1 millisecond every 100 milliseconds of
CPU time
in #
order
to
help rehashing the main Redis hash table
(the one mapping top - level #
keys to
values ).
The hash table
implementation Redis uses (see dict.c) #
performs a lazy rehashing: the more operation you run into
an hash table #
that is
rehashing, the more rehashing "steps"
are performed, so if the #
server is
idle the rehashing is
never complete and
some
more memory is
used #
by
the hash table .
#
#
The default
is
to
use this millisecond 10 times every second
in
order
to #
active rehashing the main dictionaries, freeing memory when
possible. #
#
If unsure: #
use "activerehashing
no"
if you have hard latency requirements and
it is #
not
a good thing in
your environment that Redis can reply form time
to
time #
to
queries with
2 milliseconds delay. #
#
use "activerehashing
yes"
if you don ‘t
have such hard requirements but #
want to free memory asap when possible. activerehashing
yes #
The client output buffer limits can be used to force disconnection of clients
#
that are not reading data from the server fast enough for some reason (a
#
common reason is that a Pub/Sub client can‘ t
consume messages as
fast as
the #
publisher can produce them). #
#
The limit can be set
differently for
the three different classes of
clients: #
#
normal -> normal clients #
slave -> slave clients and
MONITOR clients #
pubsub -> clients subcribed to
at
least one pubsub channel or
pattern #
#
The syntax of
every client- output -buffer-limit
directive is
the following: #
#
client- output -buffer-limit
<class> <hard limit> <soft limit> <soft seconds> #
#
A client is
immediately disconnected once the hard limit is
reached, or
if #
the soft limit is
reached and
remains reached for
the specified number of #
seconds (continuously). #
So for
instance if the hard limit is
32 megabytes and
the soft limit is #
16 megabytes / 10 seconds, the client will get disconnected immediately
#
if the size
of
the output
buffers reach 32 megabytes, but will also get #
disconnected if the client reaches 16 megabytes and
continuously overcomes #
the limit for
10 seconds. #
#
By
default
normal clients are not
limited because they don‘t receive data #
without asking ( in
a push way), but just after
a request, so only #
asynchronous clients may create
a scenario where
data is
requested faster #
than it can read .
#
#
Instead
there is
a default
limit for
pubsub and
slave clients, since #
subscribers and
slaves receive data in
a push fashion. #
#
Both the hard or
the soft limit can be disabled by
setting them to
zero. client- output -buffer-limit
normal 0 0 0 client- output -buffer-limit
slave 256mb 64mb 60 client- output -buffer-limit
pubsub 32mb 8mb 60 #
Redis calls an internal function
to
perform many background tasks, like #
closing connections of
clients in
timeot, purging expired keys that are #
never requested, and
so forth. #
#
Not
all
tasks are perforemd with
the same frequency, but Redis checks for #
tasks to
perform accordingly to
the specified "hz"
value. #
#
By
default
"hz"
is
set
to
10. Raising the value will use more CPU when #
Redis is
idle, but at
the same time
will make Redis more responsive when #
there are many keys expiring at
the same time ,
and
timeouts may be #
handled with
more precision .
#
#
The range is
between
1 and
500, however a value over 100 is
usually not #
a good idea. Most users should use the default
of
10 and
raise this up to #
100 only
in
environments where
very low latency is
required. hz
10 #
When
a child rewrites the AOF file, if the following option
is
enabled #
the file will be fsync-ed every 32 MB of
data generated. This is
useful #
in
order
to
commit
the file to
the disk more incrementally and
avoid #
big latency spikes. aof-rewrite-incremental-fsync
yes ##################################
INCLUDES ################################### #
Include one or
more other config files here. This is
useful if you #
have a standard template that goes to
all
Redis server but also need #
to
customize a few per-server settings. Include files can include #
other files, so use this wisely. #
#
include /path/ to / local .conf
#
include /path/ to /other.conf
|
原文:http://blog.csdn.net/xyw591238/article/details/51199549