Redis配置文件解读(四)

2015-07-16 12:08:51 · 作者: · 浏览: 6
more memory than the specified amount of bytes.


# When the memory limit is reached Redis will try to remove keys with an


# EXPIRE set. It will try to start freeing keys that are going to expire


# in little time and preserve keys with a longer time to live.


# Redis will also try to remove objects from free lists if possible.


#


# If all this fails, Redis will start to reply with errors to commands


# that will use more memory, like SET, LPUSH, and so on, and will continue


# to reply to most read-only commands like GET.


#


# WARNING: maxmemory can be a good idea mainly if you want to use Redis as a


# 'state' server or cache, not as a real DB. When Redis is used as a real


# database the memory usage will grow over the weeks, it will be obvious if


# it is going to use too much memory in the long run, and you'll have the time


# to upgrade. With maxmemory after the limit is reached you'll start to get


# errors for write operations, and this may even lead to DB inconsistency.


#


# maxmemory


?


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


?


# By default Redis asynchronously(异步) dumps the dataset on disk. If you can live


# with the idea that the latest records will be lost if something like a crash


# happens this is the preferred way to run Redis. If instead you care a lot


# about your data and don't want to that a single record can get lost you should


# enable the append only mode: when this mode is enabled Redis will append


# every write operation received in the file appendonly.log. This file will


# be read on startup in order to rebuild the full dataset in memory.


#


# Note that you can have both the async dumps and the append only file if you


# like (you have to comment the "save" statements above to disable the dumps).


# Still if append only mode is enabled Redis will load the data from the


# log file at startup ignoring the dump.rdb file.


#


# The name of the append only file is "appendonly.log"


#


# IMPORTANT: Check the BGREWRITEAOF to check how to rewrite the append


# log file in background when it gets too big.


?


appendonly no


?


# 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 if one second passed since the last fsync. Compromise.


#


# The default is "always" that's the safer of the options. It's up to you to


# understand if you can relax this to "everysec" that will fsync every second


# or to "no" that will let the operating system flush the output buffer when


# it want, for better performances (but if you can live with the idea of


# some data loss consider the default persistence mode that's snapshotting).


?


appendfsync always


# appendfsync everysec


# appendfsync no


?


############################### ADVANCED CONFIG ###############################


?


# Glue small output buffers together in order to send small replies in a


# single TCP packet. Uses a bit more CPU but most of the times it is a win


# in terms of number of queries per second. Use 'yes' if unsure.


glueoutputbuf yes


?


# Use object sharing. Can save a lot of memory if you have many common


# string in your dataset, but performs lookups against the shared objects


# pool so it uses more CPU and can be a bit slower. Usually it's a good


# idea.


#


# When object sharing is enabled (shareobjects yes) you can use


# shareobjectspoolsize to control the size of the pool used in order to try