欢迎投稿

今日深度:

Redis配置文件详解,针对2.6.3--2.6.7,redis2.6.3--2.

Redis配置文件详解,针对2.6.3--2.6.7,redis2.6.3--2.6.7


Redis配置文件详解,针对2.6.3--2.6.7  

# 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. 

# Redis默认是不作为守护进程来运行的。你可以把这个设置为"yes"让它作为守护进程来运行。 
# 注意,当作为守护进程的时候,Redis会把进程ID写到 /var/run/redis.pid 
daemonize yes 

# 当以守护进程方式运行的时候,Redis会把进程ID默认写到 /var/run/redis.pid。你可以在这里修改路径。 
pidfile /var/run/redis.pid 

# 接受连接的特定端口,默认是6379。 
# 如果端口设置为0,Redis就不会监听TCP套接字 
port 6379 

# 如果端口设置为0,Redis就不会监听TCP套接字 
port 6379 

# 如果你想的话,你可以绑定单一接口;如果这里没单独设置,那么所有接口的连接都会被监听。 

# bind 127.0.0.1 

# 指定用来监听连接的unxi套接字的路径。这个没有默认值,所以如果你不指定的话,Redis就不会通过unix套接字 
# unixsocket /tmp/redis.sock 
# unixsocketperm 755 

#一个客户端空闲多少秒后关闭连接。(0代表禁用,永不关闭) 
timeout 0 

# 设置服务器调试等级。 
# debug (很多信息,对开发/测试有用) 
# verbose (很多精简的有用信息,但是不像debug等级那么多) 
# notice (适量的信息,基本上是你生产环境中需要的程度) 

# warning (只有很重要/严重的信息会记录下来) 

loglevel notice 

# 指明日志文件名。也可以使用"stdout"来强制让Redis把日志信息写到标准输出上。 
# 注意:如果Redis以守护进程方式运行,而你设置日志显示到标准输出的话,那么日志会发送到 /dev/null 
logfile stdout 
# 要使用系统日志记录器很简单,只要设置 "syslog-enabled" 为 "yes" 就可以了。 
# 然后根据需要设置其他一些syslog参数就可以了。 
# syslog-enabled no 

# 指明syslog身份 
# syslog-ident redis 

# 指明syslog的设备。必须是一个用户或者是 LOCAL0 ~ LOCAL7 之一。 
# syslog-facility local0 

#设置数据库个数。默认数据库是 DB 0,你可以通过SELECT <dbid> WHERE dbid(0~'databases' - 1)来为每个链接选择服务器 
databases 16 

################################ 快照 ######################## 
                                                               
# 把数据库存到磁盘上:                                                                                                     
#   save <seconds> <changes>                                   
#                                                              
#   会在指定秒数和数据变化次数之后把数据库写到磁盘上。         
#                                                              
#   下面的例子将会进行把数据写入磁盘的操作:                    
#   900秒(15分钟)之后,且至少1次变更                         
#   300秒(5分钟)之后,且至少10次变更                         
#   60秒之后,且至少10000次变更                                
#                                                              
#   注意:你要想不写磁盘的话就把所有 "save" 设置注释掉就行了。 

#save 900 1 
save 300 30 
#save 60 10000 

#后台存储错误停止写。 
stop-writes-on-bgsave-error yes 

# 当导出到 .rdb 数据库时是否用LZF压缩字符串对象。   
# 默认设置为 "yes",所以几乎总是生效的。                                                         
# 如果你想节省CPU的话你可以把这个设置为 "no",但是如果你有可压缩的key的话,那数据文件就会更大了。 
rdbcompression yes 

# Since verison 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文件时校验。 
rdbchecksum yes 

# 数据库的文件名 
dbfilename dump.rdb 

#  工作目录 
# 数据库会写到这个目录下,文件名就是上面的 "dbfilename" 的值。 
# 累加文件也放这里。 
# 注意你这里指定的必须是目录,不是文件名。 
dir ./ 

################################# 同步 ################################# 

# 主从同步。通过 slaveof 配置来实现Redis实例的备份。 
# 注意,这里是本地从远端复制数据。也就是说,本地可以有不同的数据库文件、绑定不同的IP、监听不同的端口。 

# slaveof <masterip> <masterport> 
   
# 如果master设置了密码(通过下面的 "requirepass" 选项来配置),那么slave在开始同步之前必须进行身份验证,否则它的同步请求会被拒绝。 

# masterauth <master-password> 
   
# 当一个slave失去和master的连接,或者同步正在进行中,slave的行为有两种可能: 

# 1) 如果 slave-serve-stale-data 设置为 "yes" (默认值),slave会继续响应客户端请求,可能是正常数据,也可能是还没获得值的空数据。
# 2) 如果 slave-serve-stale-data 设置为 "no",slave会回复"正在从master同步(SYNC with master in progress)"来处理各种请求,除了 INFO 和 SLAVEOF 命令。

slave-serve-stale-data yes 

  #如果为yes,slave实例只读,如果为no,slave实例可读可写。 
slave-read-only yes 

# slave根据指定的时间间隔向服务器发送ping请求。 
# 时间间隔可以通过 repl_ping_slave_period 来设置。 
# 默认10秒。 

# repl-ping-slave-period 10 
   
# 下面的选项设置了大块数据I/O、向master请求数据和ping响应的过期时间。 
# 默认值60秒。 

# 一个很重要的事情是:确保这个值比 repl-ping-slave-period 大,否则master和slave之间的传输过期时间比预想的要短。 
# repl-timeout 60 

  #如果master不能再正常工作,那么会在多个slave中,选择优先值最小的一个slave提升为master,优先值为0表示不能提升为master。 
slave-priority 100 

################################## 安全 ################################### 
   
# 要求客户端在处理任何命令时都要验证身份和密码。 
# 这在你信不过来访者时很有用。 

# 为了向后兼容的话,这段应该注释掉。而且大多数人不需要身份验证(例如:它们运行在自己的服务器上。) 

# 警告:因为Redis太快了,所以居心不良的人可以每秒尝试150k的密码来试图破解密码。 
# 这意味着你需要一个高强度的密码,否则破解太容易了。 

# requirepass foobared 
   
# 命令重命名 

# 在共享环境下,可以为危险命令改变名字。比如,你可以为 CONFIG 改个其他不太容易猜到的名字,这样你自己仍然可以使用,而别人却没法做坏事了。 

# 例如: 

# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52 

# 甚至也可以通过给命令赋值一个空字符串来完全禁用这条命令: 

# rename-command CONFIG "" 

################################### 限制 #################################### 
   

# 设置最多同时连接客户端数量。 
# 默认没有限制,这个关系到Redis进程能够打开的文件描述符数量。 
# 特殊值"0"表示没有限制。 
# 一旦达到这个限制,Redis会关闭所有新连接并发送错误"达到最大用户数上限(max number of clients reached)" 

# maxclients 128 
   
# 不要用比设置的上限更多的内存。一旦内存使用达到上限,Redis会根据选定的回收策略(参见:maxmemmory-policy)删除key。 

# 如果因为删除策略问题Redis无法删除key,或者策略设置为 "noeviction",Redis会回复需要更多内存的错误信息给命令。 
# 例如,SET,LPUSH等等。但是会继续合理响应只读命令,比如:GET。 

# 在使用Redis作为LRU缓存,或者为实例设置了硬性内存限制的时候(使用 "noeviction" 策略)的时候,这个选项还是满有用的。 

# 警告:当一堆slave连上达到内存上限的实例的时候,响应slave需要的输出缓存所需内存不计算在使用内存当中。 
# 这样当请求一个删除掉的key的时候就不会触发网络问题/重新同步的事件,然后slave就会收到一堆删除指令,直到数据库空了为止。 

# 简而言之,如果你有slave连上一个master的话,那建议你把master内存限制设小点儿,确保有足够的系统内存用作输出缓存。 
# (如果策略设置为"noeviction"的话就不无所谓了) 

# maxmemory <bytes> 

#       incr decr rpush lpush rpushx lpushx linsert lset rpoplpush sadd 

# 内存策略:如果达到内存限制了,Redis如何删除key。你可以在下面五个策略里面选: 

# volatile-lru -> 根据LRU算法生成的过期时间来删除。 
# allkeys-lru -> 根据LRU算法删除任何key。 
# volatile-random -> 根据过期设置来随机删除key。 
# allkeys->random -> 无差别随机删。 
# volatile-ttl -> 根据最近过期时间来删除(辅以TTL) 
# noeviction -> 谁也不删,直接在写操作时返回错误。 

# 注意:对所有策略来说,如果Redis找不到合适的可以删除的key都会在写操作时返回一个错误。 

#       这里涉及的命令: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和最小TTL算法的实现都不是很精确,但是很接近(为了省内存),所以你可以用样例做测试。 
# 例如:默认Redis会检查三个key然后取最旧的那个,你可以通过下面的配置项来设置样本的个数。 

# maxmemory-samples 3 
   
############################## 纯累加模式 ############################### 
# 默认情况下,Redis是异步的把数据导出到磁盘上。这种情况下,当Redis挂掉的时候,最新的数据就丢了。 
# 如果不希望丢掉任何一条数据的话就该用纯累加模式:一旦开启这个模式,Redis会把每次写入的数据在接收后都写入 appendonly.aof 文件。 
# 每次启动时Redis都会把这个文件的数据读入内存里。 

# 注意,异步导出的数据库文件和纯累加文件可以并存(你得把上面所有"save"设置都注释掉,关掉导出机制)。 
# 如果纯累加模式开启了,那么Redis会在启动时载入日志文件而忽略导出的 dump.rdb 文件。 

# 重要:查看 BGREWRITEAOF 来了解当累加日志文件太大了之后,怎么在后台重新处理这个日志文件。 
   
appendonly no 
   
# 纯累加文件名字(默认:"appendonly.aof") 
# appendfilename appendonly.aof 

www.htsjk.Com true http://www.htsjk.com/shujukunews/8951.html NewsArticle Redis配置文件详解,针对2.6.3--2.6.7,redis2.6.3--2.6.7 Redis配置文件详解,针对2.6.3--2.6.7 # 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 =...
相关文章
    暂无相关文章
评论暂时关闭