文档章节

Redis_配置参数说明

sand_ant
 sand_ant
发布于 2016/06/21 14:10
字数 2551
阅读 25
收藏 0

配置参数

daemonize

如果值是“yes”,则启动服务的时候是后台守护进程形式,如果值是“no”,则相反

pidfile

指定存储Redis进程号的文件路径

bind

指定Redis只接收来自于该IP地址的请求,如果不进行设置,那么将处理所有请求,在生产环境中最好设置该项。

port

指定当前Redis服务的端口,默认为6379

timeout

设置客户端连接时的超时时间,单位为秒。当客户端在这段时间内没有发出任何指令,那么关闭该连接。默认是0,表示永不超时。。

loglevel

Redis总共支持四个级别:debug、verbose、notice、warning。
Debug:记录很多信息,用于开发和测试;
Varbose:有用的信息,不像debug会记录那么多;
Notice:普通的verbose,常用于生产环境;
Warning:只有非常重要或者严重的信息会记录到日志;
默认是notice级别。

logfile

日志的存储路径,默认使用标准输出,即打印在命令行终端的窗口上

databases

可用的数据库数,默认值为16,默认数据库为0,数据库范围在0-(database-1)之间

save

保存数据库快照信息到磁盘,其对应的值有两个,
比如save 300 10表示:300秒内至少有300个key被改变时,触发保存信息到磁盘的事件。

rdbcompression

持久化到RDB文件时,是否压缩,“yes”为压缩,“no”则反之

rdbchecksum

读取和写入的时候是否支持CRC64校验,默认是开启的

dbfilename

镜像文件的名字

dir

当前工作目录,配置文件和镜像文件等都在此目录下

requirepass

设置客户端连接后进行任何其他指定前需要使用的密码。警告:因为redis速度相当快,所以在一台比较好的服务器下,一个外部的用户可以在一秒钟进行150K次的密码尝试,这意味着你需要指定非常非常强大的密码来防止暴力破解。

masterauth

设置访问master服务器的密码

maxclients

限制同时连接的客户数量。当连接数超过这个值时,redis将不再接收其他连接请求,客户端尝试连接时将收到error信息。

maxmemory

设置redis能够使用的最大内存。当内存满了的时候,如果还接收到set命令,redis将先尝试剔除设置过expire信息的key,而不管该key的过期时间还没有到达。在删除时,将按照过期时间进行删除,最早将要被过期的key将最先被删除。如果带有expire信息的key都删光了,那么将返回错误。这样,redis将不再接收写请求,只接收get请求。maxmemory的设置比较适合于把redis当作于类似memcached的缓存来使用。

maxmemory-policy

当Redis内存使用达到maxmemory时,需要选择设置好的maxmemory-policy进行对老数据的置换.下面是可以选择的置换策略
    noeviction: 不进行置换,表示即使内存达到上限也不进行置换,所有能引起内存增加的命令都会返回error
    allkeys-lru: 优先删除掉最近最不经常使用的key,用以保存新数据
    volatile-lru: 只从设置失效(expire set)的key中选择最近最不经常使用的key进行删除,用以保存新数据
    allkeys-random: 随机从all-keys中选择一些key进行删除,用以保存新数据
    volatile-random: 只从设置失效(expire set)的key中,选择一些key进行删除,用以保存新数据
    volatile-ttl: 只从设置失效(expire set)的key中,选出存活时间(TTL)最短的key进行删除,用以保存新数据

appendonly

开启append only 模式之后,redis 会把所接收到的每一次写操作请求都追加到appendonly.aof 文件中,
当redis 重新启动时,会从该文件恢复出之前的状态。但是这样会造成appendonly.aof 文件过大,
所以redis 还支持了BGREWRITEAOF 指令,对appendonly.aof 进行重新整理。默认是不开启的。

appendfilename

默认为appendonly.aof。

appendfsync

设置aof的同步频率,有三种选择always、everysec、no,默认是everysec表示每秒同步一次。

vm-swap-file

设置虚拟内存的交换文件路径。

vm-max-memory

这里设置开启虚拟内存之后,redis将使用的最大物理内存的大小。默认为0,redis将把他所有的能放到交换文件的都放到交换文件中,以尽量少的使用物理内存。在生产环境下,需要根据实际情况设置该值,最好不要使用默认的0。

vm-page-size

设置虚拟内存的页大小,如果你的value值比较大,比如说你要在value中放置博客、新闻之类的所有文章内容,就设大一点,如果要放置的都是很小的内容,那就设小一点。

vm-pages

设置交换文件的总的page数量,需要注意的是,page table信息会放在物理内存中,每8个page就会占据RAM中的1个byte。总的虚拟内存大小 = vm-page-size * vm-pages。

vm-max-threads

设置VM IO同时使用的线程数量。因为在进行内存交换时,对数据有编码和解码的过程,所以尽管IO设备在硬件上本上不能支持很多的并发读写,但是还是如果你所保存的vlaue值比较大,将该值设大一些,还是能够提升性能的。

glueoutputbuf

把小的输出缓存放在一起,以便能够在一个TCP packet中为客户端发送多个响应,具体原理和真实效果我不是很清楚。所以根据注释,你不是很确定的时候就设置成yes。

hash-max-zipmap-entries

在redis 2.0中引入了hash数据结构。当hash中包含超过指定元素个数并且最大的元素没有超过临界时,hash将以一种特殊的编码方式(大大减少内存使用)来存储,这里可以设置这两个临界值。

activerehashing

开启之后,redis将在每100毫秒时使用1毫秒的CPU时间来对redis的hash表进行重新hash,可以降低内存的使用。当你的使用场景中,有非常严格的实时性需要,不能够接受Redis时不时的对请求有2毫秒的延迟的话,把这项配置为no。如果没有这么严格的实时性要求,可以设置为yes,以便能够尽可能快的释放内存。

tcp-keepalive

如果值非0,单位是秒,表示将周期性的使用SO_KEEPALIVE检测客户端是否还处于健康状态,避免服务器一直阻塞,官方给出的建议值是60S。

tcp-backlog

此参数确定了TCP连接中已完成队列(完成三次握手之后)的长度, 
当然此值必须不大于Linux系统定义的/proc/sys/net/core/somaxconn值,默认是511,
而Linux的默认参数值是128。当系统并发量大并且客户端速度缓慢的时候,可以将这二个参数一起参考设定。

stop-writes-on-bgsave-error

当持久化出现错误之后,是否继续提供写服务

slave-serve-stale-data

当slave服务器和master服务器失去连接后,或者当数据正在复制传输的时候,
如果此参数值设置“yes”,slave服务器可以继续接受客户端的请求,
否则,会返回给请求的客户端如下信息“SYNC with master in progress”

slave-read-only

是否允许slave服务器节点只提供读服务

repl-disable-tcp-nodelay

指定向slave同步数据时,是否禁用socket的NO_DELAY选 项。
若配置为“yes”,则禁用NO_DELAY,则TCP协议栈会合并小包统一发送,这样可以减少主从节点间的包数量并节省带宽,但会增加数据同步到 slave的时间。
若配置为“no”,表明启用NO_DELAY,则TCP协议栈不会延迟小包的发送时机,这样数据同步的延时会减少,但需要更大的带宽。 
通常情况下,应该配置为no以降低同步延时,但在主从节点间网络负载已经很高的情况下,可以配置为yes。

slave-priority

指定slave的优先级。在不只1个slave存在的部署环境下,当master宕机时,Redis Sentinel会将priority值最小的slave提升为master。
需要注意的是,若该配置项为0,则对应的slave永远不会自动提升为master。

no-appendfsync-on-rewrite

指定是否在后台aof文件rewrite期间调用fsync,默认为no,表示要调用fsync(无论后台是否有子进程在刷盘)。
Redis在后台写RDB文件或重写afo文件期间会存在大量磁盘IO,此时,在某些linux系统中,调用fsync可能会阻塞。

auto-aof-rewrite-percentage

指定Redis重写aof文件的条件,默认为100,表示与上次rewrite的aof文件大小相比,
当前aof文件增长量超过上次afo文件大小的100%时,就会触发background rewrite。若配置为0,则会禁用自动rewrite

auto-aof-rewrite-min-size

指定触发rewrite的aof文件大小。
若aof文件小于该值,即使当前文件的增量比例达到auto-aof-rewrite-percentage的配置值,也不会触发自动rewrite。
即这两个配置项同时满足时,才会触发rewrite。

lua-time-limit

一个Lua脚本最长的执行时间,单位为毫秒,如果为0或负数表示无限执行时间,默认为5000

notify-keyspace-events

按键通知事件

aof-rewrite-incremental-fsync

aof rewrite过程中,是否采取增量文件同步策略,默认为“yes”。 
rewrite过程中,每32M数据进行一次文件同步,这样可以减少aof大文件写入对磁盘的操作次数

slaveof

设置该数据库为其他数据库的从数据库。

slowlog-log-slower-than

小于多少ms时会记录slowlog,SLOWLOG [GET|RESET|LEN]

slowlog-max-len

系统记录最多多少条慢查询记录

© 著作权归作者所有

共有 人打赏支持
上一篇: Redis_集群配置
下一篇: Redis_注意事项
sand_ant
粉丝 3
博文 35
码字总数 18706
作品 0
无锡
私信 提问
Redis3.0 配置文件说明

背景: 以前有篇文章已经结果过了,现在复习一下,对Redis3.0进行说明: 参数说明: #redis.conf Redis configuration file example. ./redis-server /path/to/redis.conf 这在你有标准配置模...

鱼煎
2016/08/22
97
0
OpenResty lua 请求redis服务

1.环境准备: 1.1 方便学习使用window版本 下载地址:https://github.com/LomoX-Offical/nginx-openresty-windows 下载后,解压到D:toolsopenresty-1.13.6.1-win32 目录是: 1.2 其中:lua文...

君o
05/15
0
0
1.2. /etc/redis.conf

参数说明, redis.conf 配置项说明如下: Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redi...

玄学酱
01/05
0
0
32.2. /etc/redis.conf

参数说明, redis.conf 配置项说明如下: Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redi...

玄学酱
01/03
0
0
CentOS 7 配置Redis 并添加自启动服务

一、系统环境 操作系统:CentOS 7 软件版本:Redis3.20 redis程序脚本网盘地址:http://pan.baidu.com/s/1sl5SLnZ 二、编译 Redis官方下载地址:http://redis.io/ [root@localhost ~]# tar ...

黄炜斌
2016/05/08
344
0

没有更多内容

加载失败,请刷新页面

加载更多

Java 动态代理的实现

在Java中可以实现动态代理的方式有很多种:JDK方式、ASM字节码操控框架、开源的分析、编辑和创建Java字节码的类库Javassist、基于ASM框架实现的CGLIB JDK方式:通过Java反射的方式生成动态代...

我爱春天的毛毛雨
10分钟前
1
0
css 总结2

1、背景有关 (1)background-origin:border-box、padding-box、content-box //默认是padding-box(2)background-image: url(img_flwr.gif), url(paper.gif);(3)background-posi......

tianyawhl
11分钟前
1
0
java 每秒钟只允许十个线程同时并发

package com.qimh.thread.concurrent;import java.util.Date;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurren......

qimh
26分钟前
4
0
学习Hadoop大数据基础框架

什么是大数据?进入本世纪以来,尤其是2010年之后,随着互联网特别是移动互联网的发展,数据的增长呈爆炸趋势,已经很难估计全世界的电子设备中存储的数据到底有多少,描述数据系统的数据量的...

本宫没空2
28分钟前
2
0
redis

1,安装 sudo apt-get install redis-server 2,登录本地的 redis-cli 3,修改 .bashrc文件,连接其他线下数据库 vi .bashrc在最后增加alias redisa="redis-cli -h 10.15.100.134 -p 666...

鹏灬
33分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部