位置:/opt/redisaz/redis304/redis-3.0.4目录下的redis.conf
daemonize是用来指定redis是否要用守护线程的方式启动。
当我们采用yes时,redis会在后台运行,此时redis将一直运行,除非手动kill该进程。同时将进程pid号写入至redis.conf选项pidfile设置的文件中,默认会生成在/var/run/redis.pid,也可以通过pidfile来指定pid文件生成的位置
而采用no时,当前界面将进入redis的命令行界面,exit强制退出或者关闭连接工具(putty,xshell等)都会导致redis进程退出。
pidfile /var/run/redis.pid
redis以守护进程方式运行时,系统默认会把pid写入/var/run/redis.pid,可以通过pidfile指定pid文件
tcp-backlog 511
此参数确定了TCP连接中已完成队列(完成三次握手之后)的长度, 当然此值必须不大于Linux系统定义的/proc/sys/net/core/somaxconn值,默认是511,而Linux的默认参数值是128。当系统并发量大并且客户端速度缓慢的时候,可以将这二个参数一起参考设定。
timeout 0
连接超时时间,0代表不关闭
tcp-keepalive 0
单位为秒。如果设置为0.则不进行Keepalive检测,建议设置为60
loglevel 日志级别
开发测试阶段可以用debug,生产模式一般选用notice
1. debug:会打印出很多信息,适用于开发和测试阶段
2. verbose(冗长的):包含很多不太有用的信息,但比debug要清爽一些
3. notice:适用于生产模式
4. warning : 警告信息
logfile "" 日志存放路径
databases 16 默认使用多少库
Syslog-enabled 是否把日志输出到syslog中
Syslog-ident 指定syslog里的日志标识
Syslog-facility 指定syslog设备,值可以是user或local0-local7
requirepass 设置密码
dir ./ redis启动后日志默认输出在那个路径
Maxclients
设置redis同时可以多少个客户端进行连接,默认情况下为10000个客户端
Maxmemory
设置redis可以使用的内存量,一旦到达内存上限,redis将会试图移除内部数据,移除规则可以通过
maxmemory-policy来指定
maxmemory-policy 六种方式
axmemory-policy noeviction
1、volatile-lru:只对设置了过期时间的key进行LRU(默认值)
2、allkeys-lru : 删除lru算法的key
3、volatile-random:随机删除即将过期key
4、allkeys-random:随机删除
5、volatile-ttl : 删除即将过期的
6、noeviction : 永不过期,返回错误
stop-writes-on-bgsave-error 选项
如果 = yes : redis 会创建一个新的后台进程dump rdb。
假设 :创建快照(硬盘上,产生一个新的rdb文件)需要 20s时间,redis主进程,在这20s内,会继续接受客户端命令,但是,就在这20s,内,创建快照!!!,出错了,比如磁盘满了,那么redis会认为,
当前!!!,Redis is configured tosaveRDB snapshots, but is currently not able topersist on disk. but is currently not able topersist on disk.
那么,redis会,拒绝 新的写入,也就是说,它认为,你当下,持久化数据出现了问题,你就不要再set啦。
2,RDB
在指定的时间间隔内将内存中的数据集快照写入磁盘,他恢复时是将快照文件直接读到内存里。Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,持久化过程结束了,在用这个临时文件替换上一次持久化好的文件,整个过程中主进程都不进行任何IO操作,这就确保了极高的性能如果需要进行大规模恢复,且对数据恢复的完整性要求不高,那RDB方案要比AOF更加高效,RDB的缺点是最后一次持久化的数据可能丢失
fork:frok的作用是复制一个与当前进程一样的进程,新进程的所有数据(变量,环境变量,程序计算器等)数值和原进程一致,但是是一个全新的进程,并作为原进程的子进程
RDB保存的是dump.rdb文件
save 9001900秒以内改动一次
save 30010300秒以内改动10次
save 601000060 秒以内改动10000次
上面这些条件出发一个则生成rdb文件
stop-writes-on-bgsave-error 选项
如果 = yes : redis 会创建一个新的后台进程dump rdb。
假设 :创建快照(硬盘上,产生一个新的rdb文件)需要 20s时间,redis主进程,在这20s内,会继续接受客户端命令,但是,就在这20s,内,创建快照!!!,出错了,比如磁盘满了,那么redis会认为,
当前!!!,Redis is configured tosaveRDB snapshots, but is currently not able topersist on disk. but is currently not able topersist on disk.
那么,redis会,拒绝 新的写入,也就是说,它认为,你当下,持久化数据出现了问题,你就不要再set啦。