Redis.conf説明

11845 ワード

# Redis     
 
#              ,     1k, 5GB, 4M       ,       (      )
#
# 1k => 1000 bytes
# 1kb => 1024 bytes
# 1m => 1000000 bytes
# 1mb => 1024*1024 bytes
# 1g => 1000000000 bytes
# 1gb => 1024*1024*1024 bytes
#
#            .   1gb 1Gb 1GB 1gB
 
# daemonize no      ,redis        ,         ,        yes
daemonize yes
 
#  redis        ,Redis    pid    /var/run/redis.pid,          。
#      redis   ,       pid     
pidfile /var/run/redis.pid
 
#   redis     ,   6379
port 6379
 
#   redis       IP     ,       ,         ,
#             
# 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
 
#              ,    。                  ,       
# 0      
timeout 0
 
#         
# Redis        :debug、verbose、notice、warning,   verbose
# debug       ,       
# varbose      ,  debug      
# notice    verbose,       
# warning                    
loglevel debug
 
#   log    
#     stdout,    ,         /dev/null
#logfile stdout
logfile /var/log/redis/redis.log
 
# 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
 
#       
#     16,      0,      0-(database-1)  
databases 16
 
################################     #################################
#
#        ,    :
#
#   save <seconds> <changes>
#
#           ,        ,           rdb。
#              ,          
#    
#               ,        
#
#   save 900 1  900     1 key   
#   save 300 10  300     300 key   
#   save 60 10000  60     10000 key   
 
save 900 1
save 300 10
save 60 10000
 
#          (    rdb  )      ,   yes
rdbcompression yes
 
 
#            ,    dump.rdb
dbfilename dump.rdb
 
#     
#
#                。
#                  redis      ,                     ,      ,
#                    ,                                。
# 
# AOF             
# 
#                  
dir ./
 
#################################    #################################
 
#     .                  . 
#       slav   ,  master   IP     , Redis   ,     master      
#
# slaveof <masterip> <masterport>
 
#  master          ( requirepass     )
# slav    master   
# 
# masterauth <master-password>
 
 
#                   ,          :
#
# 1)   slave-serve-stale-data   yes(    ),             
# 
# 2)   slave-serve-stale-data   no,  INFO SLAVOF               
#      "SYNC with master in progress"
#
slave-serve-stale-data yes
 
#                 PINGs.    repl-ping-slave-period        ,   10 
#
# repl-ping-slave-period 10
 
# repl-timeout               ping      ,    60 
#      repl-timeout  repl-ping-slave-period
# repl-timeout 60
##################################    ###################################
 
#                         。
#   :  redis     ,             ,               150K      ,                         
#
# requirepass foobared
 
#      .
#
#                     。   CONFIG             。
#
#   :
#
# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52
#
#          ,             ""  ,  :
#
# rename-command CONFIG ""
###################################    ####################################
 
#               ,     ,Redis              Redis               ,
#      maxclients 0,      。
#             ,Redis              max number of clients reached    
#
# maxclients 128
 
#   Redis      ,Redis              ,       ,Redis               Key
# Redis        list  
#
#        ,          ,          ,           
# 
#   :Redis  vm  ,  Key    ,Value    swap 
#
# maxmemory         redis     memcached      ,           DB。
#   Redis               ,             
# maxmemory <bytes>
 
#            Redis         ?         
# 
# volatile-lru ->   LRU            key (LRU:     Least Recently Used )
# allkeys-lru ->   LRU      key
# volatile-random ->             key
# allkeys->random -> remove a random key, any key
# volatile-ttl ->        key(minor TTL)
# noeviction ->        ,         
# 
#   :       ,       key    ,     Redis       
#
#            : 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
#
#    :
#
# maxmemory-policy volatile-lru
 
# LRU   minimal TTL           ,         (      ),               。
# Redis      3       ,     maxmemory-samples    
#
# maxmemory-samples 3
############################## AOF ###############################
 
#      ,redis                  ,           ,          ,          、      ,               。
#   redis                        。
#   append only    ,redis                   appendonly.aof   , redis     ,             。
#        appendonly.aof    ,  redis    BGREWRITEAOF  , appendonly.aof       。
#        asynchronous dumps   AOF
 
appendonly no
 
# AOF     (  : "appendonly.aof")
# appendfilename appendonly.aof
 
 
# Redis      AOF     :
#
# no:      ,      . Faster.
# always: always             . Slow, Safest.
# everysec:           ,      . Compromise.
#
#    "everysec",              。
#     Redis       ,       "no",              
#                   "always"
#
#         "everysec".
 
# appendfsync always
appendfsync everysec
# appendfsync no
 
# AOF     always  everysec ,      (      AOF    )      I/O  
#    Linux         fsync()  。          ,  fsync           
#
#         ,          no-appendfsync-on-rewrite
#
# This means that while another child is saving the durability of Redis is
# the same as "appendfsync none", that in pratical terms means that it is
# possible to lost 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.
# AOF     
#  AOF            Redis     BGREWRITEAOF           
# 
#        :Redis                (              ,             )
#
#                。                   ,       
#               AOF  ,                        AOF     
#    percentage  0       
 
 
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
################################## SLOW LOG ###################################
 
# Redis Slow Log              。       I/O         ,     ,        
# 
#           slow log:     Redis              slowlog-log-slower-than(  ),
#     slow log    。                         
 
 
#            ,  1000000     。
#               ,    0           
slowlog-log-slower-than 10000
 
 
#          ,           
#      SLOWLOG RESET            
slowlog-max-len 1024
 
################################ VM ###############################
 
### WARNING! Virtual Memory is deprecated in Redis 2.4
### The use of Virtual Memory is strongly discouraged.
 
# Virtual Memory allows Redis to work with datasets bigger than the actual
# amount of RAM needed to hold the whole dataset in memory.
# In order to do so very used keys are taken in memory while the other keys
# are swapped into a swap file, similarly to what operating systems do
# with memory pages.
#
# To enable VM just set 'vm-enabled' to yes, and set the following three
# VM parameters accordingly to your needs.
 
vm-enabled no
# vm-enabled yes
 
# This is the path of the Redis swap file. As you can guess, swap files
# can't be shared by different Redis instances, so make sure to use a swap
# file for every redis process you are running. Redis will complain if the
# swap file is already in use.
#
# The best kind of storage for the Redis swap file (that's accessed at random) 
# is a Solid State Disk (SSD).
#
# *** WARNING *** if you are using a shared hosting the default of putting
# the swap file under /tmp is not secure. Create a dir with access granted
# only to Redis user and configure Redis to create the swap file there.
vm-swap-file /tmp/redis.swap
 
# vm-max-memory configures the VM to use at max the specified amount of
# RAM. Everything that deos not fit will be swapped on disk *if* possible, that
# is, if there is still enough contiguous space in the swap file.
#
# With vm-max-memory 0 the system will swap everything it can. Not a good
# default, just specify the max amount of RAM you can in bytes, but it's
# better to leave some margin. For instance specify an amount of RAM
# that's more or less between 60 and 80% of your free RAM.
vm-max-memory 0
 
# Redis swap files is split into pages. An object can be saved using multiple
# contiguous pages, but pages can't be shared between different objects.
# So if your page is too big, small objects swapped out on disk will waste
# a lot of space. If you page is too small, there is less space in the swap
# file (assuming you configured the same number of total swap file pages).
#
# If you use a lot of small objects, use a page size of 64 or 32 bytes.
# If you use a lot of big objects, use a bigger page size.
# If unsure, use the default :)
vm-page-size 32
 
# Number of total memory pages in the swap file.
# Given that the page table (a bitmap of free/used pages) is taken in memory,
# every 8 pages on disk will consume 1 byte of RAM.
#
# The total swap size is vm-page-size * vm-pages
#
# With the default of 32-bytes memory pages and 134217728 pages Redis will
# use a 4 GB swap file, that will use 16 MB of RAM for the page table.
#
# It's better to use the smallest acceptable value for your application,
# but the default is large in order to work in most conditions.
vm-pages 134217728
 
# Max number of VM I/O threads running at the same time.
# This threads are used to read/write data from/to swap file, since they
# also encode and decode objects from disk to memory or the reverse, a bigger
# number of threads can help with big objects even if they can't help with
# I/O itself as the physical device may not be able to couple with many
# reads/writes operations at the same time.
#
# The special value of 0 turn off threaded I/O and enables the blocking
# Virtual Memory implementation.
vm-max-threads 4
 
############################### ADVANCED CONFIG ###############################
 
#  hash                         ,
# hash           (        )   ,            
# Redis Hash  Value        HashMap,      2     ,
#   Hash       Redis                       ,        HashMap  ,   value redisObject encoding zipmap,
#                 HashMap,  encoding ht。
hash-max-zipmap-entries 512
hash-max-zipmap-value 64
 
# list                       。
# list                        。
list-max-ziplist-entries 512
list-max-ziplist-value 64
 
# set                ,                  。
set-max-intset-entries 512
 
# zsort                       。
# zsort                        。
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
 
 
# Redis   100     1   CPU    redis hash     hash,         
# 
#         ,           ,     Redis        2       ,      no。
#
#               ,     yes,             
activerehashing yes
 
################################## INCLUDES ###################################
 
#            ,          Redis             ,                   
 
# include /path/to/local.conf
# include /path/to/other.conf