Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 294 lines (253 sloc) 12.728 kb
ed9b544 Salvatore Sanfilippo first commit
antirez authored
1 # Redis configuration file example
2
3 # By default Redis does not run as a daemon. Use 'yes' if you need it.
4 # Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
5 daemonize no
6
ed329fc Luc Heinrich Allow to specify the pid file from the config file.
lucsky authored
7 # When run as a daemon, Redis write a pid file in /var/run/redis.pid by default.
8 # You can specify a custom pid file location here.
9 pidfile /var/run/redis.pid
10
ed9b544 Salvatore Sanfilippo first commit
antirez authored
11 # Accept connections on the specified port, default is 6379
12 port 6379
13
14 # If you want you can bind a single interface, if the bind option is not
15 # specified all the interfaces will listen for connections.
16 #
17 # bind 127.0.0.1
18
0150db3 Aman Gupta Allow timeout=0 config to disable client timeouts
tmm1 authored
19 # Close the connection after a client is idle for N seconds (0 to disable)
ed9b544 Salvatore Sanfilippo first commit
antirez authored
20 timeout 300
21
121f70c Salvatore Sanfilippo lzf compression switched off by default now, with config file option to ...
antirez authored
22 # Set server verbosity to 'debug'
23 # it can be one of:
24 # debug (a lot of information, useful for development/testing)
38aba9a Salvatore Sanfilippo a new default redis.conf
antirez authored
25 # verbose (many rarely useful info, but not a mess like the debug level)
121f70c Salvatore Sanfilippo lzf compression switched off by default now, with config file option to ...
antirez authored
26 # notice (moderately verbose, what you want in production probably)
27 # warning (only very important / critical messages are logged)
38aba9a Salvatore Sanfilippo a new default redis.conf
antirez authored
28 loglevel verbose
121f70c Salvatore Sanfilippo lzf compression switched off by default now, with config file option to ...
antirez authored
29
30 # Specify the log file name. Also 'stdout' can be used to force
31 # the demon to log on the standard output. Note that if you use standard
32 # output for logging but daemonize, logs will be sent to /dev/null
33 logfile stdout
34
35 # Set the number of databases. The default database is DB 0, you can select
36 # a different one on a per-connection basis using SELECT <dbid> where
37 # dbid is a number between 0 and 'databases'-1
38 databases 16
39
40 ################################ SNAPSHOTTING #################################
41 #
ed9b544 Salvatore Sanfilippo first commit
antirez authored
42 # Save the DB on disk:
43 #
44 # save <seconds> <changes>
45 #
46 # Will save the DB if both the given number of seconds and the given
47 # number of write operations against the DB occurred.
48 #
49 # In the example below the behaviour will be to save:
50 # after 900 sec (15 min) if at least 1 key changed
51 # after 300 sec (5 min) if at least 10 keys changed
52 # after 60 sec if at least 10000 keys changed
e7546c6 Salvatore Sanfilippo BGREWRITEAOF now works with swapping on
antirez authored
53 #
54 # Note: you can disable saving at all commenting all the "save" lines.
55
38aba9a Salvatore Sanfilippo a new default redis.conf
antirez authored
56 save 900 1
57 save 300 10
58 save 60 10000
ed9b544 Salvatore Sanfilippo first commit
antirez authored
59
121f70c Salvatore Sanfilippo lzf compression switched off by default now, with config file option to ...
antirez authored
60 # Compress string objects using LZF when dump .rdb databases?
b055378 Salvatore Sanfilippo LZF compression re-enabled by default, but with INIT_HTAB set to 0 to av...
antirez authored
61 # For default that's set to 'yes' as it's almost always a win.
62 # If you want to save some CPU in the saving child set it to 'no' but
63 # the dataset will likely be bigger if you have compressible values or keys.
64 rdbcompression yes
121f70c Salvatore Sanfilippo lzf compression switched off by default now, with config file option to ...
antirez authored
65
b8b553c Salvatore Sanfilippo ability to specify a different file name for the DB
antirez authored
66 # The filename where to dump the DB
67 dbfilename dump.rdb
68
ed9b544 Salvatore Sanfilippo first commit
antirez authored
69 # For default save/load DB in/from the working directory
70 # Note that you must specify a directory not a file name.
71 dir ./
72
73 ################################# REPLICATION #################################
74
75 # Master-Slave replication. Use slaveof to make a Redis instance a copy of
76 # another Redis server. Note that the configuration is local to the slave
77 # so for example it is possible to configure the slave to save the DB with a
78 # different interval, or to listen to another port, and so on.
3f47797 Salvatore Sanfilippo TODO list modified. What's planned for 1.4 is now written in the stone ;...
antirez authored
79 #
ed9b544 Salvatore Sanfilippo first commit
antirez authored
80 # slaveof <masterip> <masterport>
81
3f47797 Salvatore Sanfilippo TODO list modified. What's planned for 1.4 is now written in the stone ;...
antirez authored
82 # If the master is password protected (using the "requirepass" configuration
83 # directive below) it is possible to tell the slave to authenticate before
84 # starting the replication synchronization process, otherwise the master will
85 # refuse the slave request.
86 #
87 # masterauth <master-password>
88
f2aa84b Salvatore Sanfilippo Lua client added thanks to Daniele Alessandri
antirez authored
89 ################################## SECURITY ###################################
90
91 # Require clients to issue AUTH <PASSWORD> before processing any other
92 # commands. This might be useful in environments in which you do not trust
93 # others with access to the host running redis-server.
94 #
95 # This should stay commented out for backward compatibility and because most
96 # people do not need auth (e.g. they run their own servers).
3f47797 Salvatore Sanfilippo TODO list modified. What's planned for 1.4 is now written in the stone ;...
antirez authored
97 #
290deb8 Salvatore Sanfilippo TODO changes, minor change to default redis.conf
antirez authored
98 # requirepass foobared
f2aa84b Salvatore Sanfilippo Lua client added thanks to Daniele Alessandri
antirez authored
99
285add5 Salvatore Sanfilippo maxclients implemented, see redis.conf for details
antirez authored
100 ################################### LIMITS ####################################
101
102 # Set the max number of connected clients at the same time. By default there
103 # is no limit, and it's up to the number of file descriptors the Redis process
92f8e88 Salvatore Sanfilippo non-blocking VM data structures, just a start
antirez authored
104 # is able to open. The special value '0' means no limits.
285add5 Salvatore Sanfilippo maxclients implemented, see redis.conf for details
antirez authored
105 # Once the limit is reached Redis will close all the new connections sending
106 # an error 'max number of clients reached'.
3f47797 Salvatore Sanfilippo TODO list modified. What's planned for 1.4 is now written in the stone ;...
antirez authored
107 #
285add5 Salvatore Sanfilippo maxclients implemented, see redis.conf for details
antirez authored
108 # maxclients 128
109
3fd78bc Salvatore Sanfilippo maxmemory implemented
antirez authored
110 # Don't use more memory than the specified amount of bytes.
111 # When the memory limit is reached Redis will try to remove keys with an
112 # EXPIRE set. It will try to start freeing keys that are going to expire
113 # in little time and preserve keys with a longer time to live.
114 # Redis will also try to remove objects from free lists if possible.
115 #
116 # If all this fails, Redis will start to reply with errors to commands
117 # that will use more memory, like SET, LPUSH, and so on, and will continue
118 # to reply to most read-only commands like GET.
144d479 Salvatore Sanfilippo minor fix for Solaris boxes
antirez authored
119 #
120 # WARNING: maxmemory can be a good idea mainly if you want to use Redis as a
121 # 'state' server or cache, not as a real DB. When Redis is used as a real
122 # database the memory usage will grow over the weeks, it will be obvious if
123 # it is going to use too much memory in the long run, and you'll have the time
124 # to upgrade. With maxmemory after the limit is reached you'll start to get
125 # errors for write operations, and this may even lead to DB inconsistency.
3f47797 Salvatore Sanfilippo TODO list modified. What's planned for 1.4 is now written in the stone ;...
antirez authored
126 #
3fd78bc Salvatore Sanfilippo maxmemory implemented
antirez authored
127 # maxmemory <bytes>
128
44b38ef Salvatore Sanfilippo Initial implementation of append-only mode. Loading still not implemente...
antirez authored
129 ############################## APPEND ONLY MODE ###############################
130
131 # By default Redis asynchronously dumps the dataset on disk. If you can live
132 # with the idea that the latest records will be lost if something like a crash
133 # happens this is the preferred way to run Redis. If instead you care a lot
134 # about your data and don't want to that a single record can get lost you should
135 # enable the append only mode: when this mode is enabled Redis will append
4005fef Salvatore Sanfilippo Now PUBLISH commands are replicated to slaves
antirez authored
136 # every write operation received in the file appendonly.aof. This file will
44b38ef Salvatore Sanfilippo Initial implementation of append-only mode. Loading still not implemente...
antirez authored
137 # be read on startup in order to rebuild the full dataset in memory.
138 #
139 # Note that you can have both the async dumps and the append only file if you
140 # like (you have to comment the "save" statements above to disable the dumps).
141 # Still if append only mode is enabled Redis will load the data from the
142 # log file at startup ignoring the dump.rdb file.
0154acd Salvatore Sanfilippo appendfsync is now set to NO by default
antirez authored
143 #
4005fef Salvatore Sanfilippo Now PUBLISH commands are replicated to slaves
antirez authored
144 # The name of the append only file is "appendonly.aof"
49b99ab Salvatore Sanfilippo Changed the reply of BGSAVE and BGREWRITEAOF from +OK to a more meaningf...
antirez authored
145 #
146 # IMPORTANT: Check the BGREWRITEAOF to check how to rewrite the append
147 # log file in background when it gets too big.
44b38ef Salvatore Sanfilippo Initial implementation of append-only mode. Loading still not implemente...
antirez authored
148
4e141d5 Salvatore Sanfilippo append only mode is now able to translate EXPIRE into EXPIREAT transpare...
antirez authored
149 appendonly no
44b38ef Salvatore Sanfilippo Initial implementation of append-only mode. Loading still not implemente...
antirez authored
150
4e141d5 Salvatore Sanfilippo append only mode is now able to translate EXPIRE into EXPIREAT transpare...
antirez authored
151 # The fsync() call tells the Operating System to actually write data on disk
48f0308 Salvatore Sanfilippo support for appendonly mode no, always, everysec
antirez authored
152 # instead to wait for more data in the output buffer. Some OS will really flush
153 # data on disk, some other OS will just try to do it ASAP.
154 #
155 # Redis supports three different modes:
156 #
157 # no: don't fsync, just let the OS flush the data when it wants. Faster.
158 # always: fsync after every write to the append only log . Slow, Safest.
159 # everysec: fsync only if one second passed since the last fsync. Compromise.
160 #
6766f45 Salvatore Sanfilippo multi bulk requests in redis-benchmark, default fsync policy changed to ...
antirez authored
161 # The default is "everysec" that's usually the right compromise between
162 # speed and data safety. It's up to you to understand if you can relax this to
163 # "no" that will will let the operating system flush the output buffer when
164 # it wants, for better performances (but if you can live with the idea of
165 # some data loss consider the default persistence mode that's snapshotting),
166 # or on the contrary, use "always" that's very slow but a bit safer than
167 # everysec.
168 #
169 # If unsure, use "everysec".
170
171 # appendfsync always
172 appendfsync everysec
4e141d5 Salvatore Sanfilippo append only mode is now able to translate EXPIRE into EXPIREAT transpare...
antirez authored
173 # appendfsync no
48f0308 Salvatore Sanfilippo support for appendonly mode no, always, everysec
antirez authored
174
a35ddf1 Salvatore Sanfilippo more object-level VM primitives
antirez authored
175 ################################ VIRTUAL MEMORY ###############################
176
4ef8de8 Salvatore Sanfilippo basic VM mostly working!
antirez authored
177 # Virtual Memory allows Redis to work with datasets bigger than the actual
178 # amount of RAM needed to hold the whole dataset in memory.
179 # In order to do so very used keys are taken in memory while the other keys
180 # are swapped into a swap file, similarly to what operating systems do
181 # with memory pages.
182 #
183 # To enable VM just set 'vm-enabled' to yes, and set the following three
184 # VM parameters accordingly to your needs.
c9e5c23 Salvatore Sanfilippo vm-enabled set to no by default in redis.conf
antirez authored
185
186 vm-enabled no
187 # vm-enabled yes
4ef8de8 Salvatore Sanfilippo basic VM mostly working!
antirez authored
188
054e426 Salvatore Sanfilippo support for named VM swap file. Fixed a few important interaction issues...
antirez authored
189 # This is the path of the Redis swap file. As you can guess, swap files
190 # can't be shared by different Redis instances, so make sure to use a swap
191 # file for every redis process you are running.
192 #
193 # The swap file name may contain "%p" that is substituted with the PID of
194 # the Redis process, so the default name /tmp/redis-%p.vm will work even
195 # with multiple instances as Redis will use, for example, redis-811.vm
196 # for one instance and redis-593.vm for another one.
197 #
198 # Useless to say, the best kind of disk for a Redis swap file (that's accessed
199 # at random) is a Solid State Disk (SSD).
5921aa3 Salvatore Sanfilippo Bug #169 fixed (BLOP/BRPOP interrupted connections are not cleared from ...
antirez authored
200 #
201 # *** WARNING *** if you are using a shared hosting the default of putting
202 # the swap file under /tmp is not secure. Create a dir with access granted
203 # only to Redis user and configure Redis to create the swap file there.
054e426 Salvatore Sanfilippo support for named VM swap file. Fixed a few important interaction issues...
antirez authored
204 vm-swap-file /tmp/redis-%p.vm
205
4ef8de8 Salvatore Sanfilippo basic VM mostly working!
antirez authored
206 # vm-max-memory configures the VM to use at max the specified amount of
207 # RAM. Everything that deos not fit will be swapped on disk *if* possible, that
208 # is, if there is still enough contiguous space in the swap file.
38aba9a Salvatore Sanfilippo a new default redis.conf
antirez authored
209 #
ce83302 Salvatore Sanfilippo Saner VM defaults for redis.conf
antirez authored
210 # With vm-max-memory 0 the system will swap everything it can. Not a good
211 # default, just specify the max amount of RAM you can in bytes, but it's
212 # better to leave some margin. For instance specify an amount of RAM
213 # that's more or less between 60 and 80% of your free RAM.
214 vm-max-memory 0
4ef8de8 Salvatore Sanfilippo basic VM mostly working!
antirez authored
215
216 # Redis swap files is split into pages. An object can be saved using multiple
217 # contiguous pages, but pages can't be shared between different objects.
218 # So if your page is too big, small objects swapped out on disk will waste
219 # a lot of space. If you page is too small, there is less space in the swap
220 # file (assuming you configured the same number of total swap file pages).
221 #
222 # If you use a lot of small objects, use a page size of 64 or 32 bytes.
223 # If you use a lot of big objects, use a bigger page size.
92f8e88 Salvatore Sanfilippo non-blocking VM data structures, just a start
antirez authored
224 # If unsure, use the default :)
ce83302 Salvatore Sanfilippo Saner VM defaults for redis.conf
antirez authored
225 vm-page-size 32
4ef8de8 Salvatore Sanfilippo basic VM mostly working!
antirez authored
226
227 # Number of total memory pages in the swap file.
228 # Given that the page table (a bitmap of free/used pages) is taken in memory,
229 # every 8 pages on disk will consume 1 byte of RAM.
230 #
231 # The total swap size is vm-page-size * vm-pages
232 #
ce83302 Salvatore Sanfilippo Saner VM defaults for redis.conf
antirez authored
233 # With the default of 32-bytes memory pages and 134217728 pages Redis will
234 # use a 4 GB swap file, that will use 16 MB of RAM for the page table.
38aba9a Salvatore Sanfilippo a new default redis.conf
antirez authored
235 #
236 # It's better to use the smallest acceptable value for your application,
237 # but the default is large in order to work in most conditions.
ce83302 Salvatore Sanfilippo Saner VM defaults for redis.conf
antirez authored
238 vm-pages 134217728
a35ddf1 Salvatore Sanfilippo more object-level VM primitives
antirez authored
239
92f8e88 Salvatore Sanfilippo non-blocking VM data structures, just a start
antirez authored
240 # Max number of VM I/O threads running at the same time.
241 # This threads are used to read/write data from/to swap file, since they
242 # also encode and decode objects from disk to memory or the reverse, a bigger
243 # number of threads can help with big objects even if they can't help with
244 # I/O itself as the physical device may not be able to couple with many
245 # reads/writes operations at the same time.
72e9fd4 Salvatore Sanfilippo support for blocking VM in config file
antirez authored
246 #
247 # The special value of 0 turn off threaded I/O and enables the blocking
248 # Virtual Memory implementation.
92f8e88 Salvatore Sanfilippo non-blocking VM data structures, just a start
antirez authored
249 vm-max-threads 4
250
ed9b544 Salvatore Sanfilippo first commit
antirez authored
251 ############################### ADVANCED CONFIG ###############################
252
253 # Glue small output buffers together in order to send small replies in a
254 # single TCP packet. Uses a bit more CPU but most of the times it is a win
255 # in terms of number of queries per second. Use 'yes' if unsure.
256 glueoutputbuf yes
10c4361 Salvatore Sanfilippo Nasty bug of the new DB format fixed, objects sharing implemented
antirez authored
257
cbba7dd Salvatore Sanfilippo HSET fixes, now the new pointer is stored back in the object pointer fie...
antirez authored
258 # Hashes are encoded in a special way (much more memory efficient) when they
259 # have at max a given numer of elements, and the biggest element does not
260 # exceed a given threshold. You can configure this limits with the following
261 # configuration directives.
262 hash-max-zipmap-entries 64
263 hash-max-zipmap-value 512
b3f83f1 Jeremy Zawodny support for include directive in config parser
jzawodn authored
264
8ca3e9d Salvatore Sanfilippo Active rehashing
antirez authored
265 # Active rehashing uses 1 millisecond every 100 milliseconds of CPU time in
266 # order to help rehashing the main Redis hash table (the one mapping top-level
267 # keys to values). The hash table implementation redis uses (see dict.c)
268 # performs a lazy rehashing: the more operation you run into an hash table
269 # that is rhashing, the more rehashing "steps" are performed, so if the
270 # server is idle the rehashing is never complete and some more memory is used
271 # by the hash table.
272 #
273 # The default is to use this millisecond 10 times every second in order to
274 # active rehashing the main dictionaries, freeing memory when possible.
275 #
276 # If unsure:
277 # use "activerehashing no" if you have hard latency requirements and it is
278 # not a good thing in your environment that Redis can reply form time to time
279 # to queries with 2 milliseconds delay.
280 #
281 # use "activerehashing yes" if you don't have such hard requirements but
282 # want to free memory asap when possible.
283 activerehashing yes
284
b3f83f1 Jeremy Zawodny support for include directive in config parser
jzawodn authored
285 ################################## INCLUDES ###################################
286
287 # Include one or more other config files here. This is useful if you
288 # have a standard template that goes to all redis server but also need
289 # to customize a few per-server settings. Include files can include
290 # other files, so use this wisely.
291 #
292 # include /path/to/local.conf
293 # include /path/to/other.conf
Something went wrong with that request. Please try again.