redis tcp-keepalive 一般设置多久
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis tcp-keepalive 一般设置多久相关的知识,希望对你有一定的参考价值。
参考技术A 一般是根据需求来进行设置。redis通过expire命令来设置key的过期时间。语法:redis.expire(key, expiration)1. 在小于2.1.3的redis版本里,只能对key设置一次expire。redis2.1.3和之后的版本里,可以多次对key使用expire命令,更新key的expire time。2. redis术语里面,把设置了expire time的key 叫做:volatile keys。 意思就是不稳定的key。3. 如果对key使用set或del命令,那么也会移除expire time。尤其是set命令,这个在编写程序的时候需要注意一下。4. redis2.1.3之前的老版本里,如果对volatile keys 做相关写入操作(LPUSH,LSET),和其他一些触发修改value的操作时,redis会删除该key。 也就是说 :redis.expire(key,expiration);redis.lpush(key,field,value);redis.get(key) //return nullredis2.1.3之后的版本里面没有这个约束,可以任意修改。redis.set(key,100);redis.expire(key,expiration);redis.incr(key)redis.get(key)//redis2.2.2 return 101; redis<2.1.3 return 1;5. redis对过期键采用了lazy expiration:在访问key的时候判定key是否过期,如果过期,则进行过期处理。其次,每秒对volatile keys 进行抽样测试,如果有过期键,那么对所有过期key进行处理。redis配置详解
daemonize yes #是否运行为守护进程
pidfile /var/run/redis.pid #PID文件
port 6379 #监听端口
tcp-backlog 511 #tcp队列长度
bind 0.0.0.0 #监听地址
timeout 0 #客户端空闲多长时间后断开连接,0表示永久
tcp-keepalive 60 #心跳检测时间
loglevel notice #日志级别
logfile /var/log/redis/redis.log #日志文件
syslog-enabled no #是否把日志记录到syslog中,通常为禁止
databases 16 #数据库数目
dir /var/lib/redis/ #redis工作目录
#####################持久化配置###################
save 60 10000 #一分钟之内key发生10000次变化就启动RDB持久化
stop-writes-on-bgsave-error no #redis持久化失败停止写操作(no:停止 yes:不停止)
rdbcompression yes #是否对rdb进行压缩
rdbchecksum yes #是否对rdb文件进行校验
dbfilename dump.rdb #rdb文件保存位置
appendonly yes #启用AOF
appendfsync everysec #没秒记录一次redis写操作
appendfilename appendonly.aof #aof文件保存位置
auto-aof-rewrite-percentage 100 #当前文件是上一次重写的两倍时启动aof重写
auto-aof-rewrite-min-size 100mb #从100M开始启动重写机制
#####################主从配置######################
slaveof masterip masterport #指定主节点ip和端口
masterauth password #设置主服务器认证密码
slave-serve-stale-data yes #主从无法连接时客户端请求数据,slave响应本地的缓存数据(可能已经过时)
slave-read-only yes #slave是否只读
repl-ping-slave-period 10 #向主服务器发起ping请求时间间隔
repl-timeout 60 #主从复制过期时间
slave-priority 100 #从服务器优先级,数值越小,优先级越高
#####################其他配置######################
requirepass password #认证密码
maxclients 0 #最大连接数,0为不限制
include /path/config #导入其他配置文件
vm-enabled no #是否启用虚拟内存(不建议启动)
#####################限制配置######################
maxmemory 6G #最大内存值
maxmemory-policy volatile-lru #如果达到maxmemory值,采用此策略
可选策略:
volatile-lru #默认策略,只对设置过期的key进行LRU算法删除
allkeys-lru #删除不经常使用的key
volatile-random #随机删除即将过期的key
allkeys-random #随机删除一个key
volatile-ttl #删除即将过期的key
noeviction #不过期,写操作返回报错
maxmemory-samples 3 #随机选择key的数量,从中淘汰最不经常用的
#####################高级配置######################
hash-max-zipmap-entries 512
#哈希表中元素(条目)总个数不超过设定数量时,采用线性紧凑格式存储来节省空间
hash-max-zipmap-value 64
#哈希表中每个value的长度不超过多少字节时,采用线性紧凑格式存储来节省空间
list-max-ziplist-entries 512 #list数据类型多少节点以下会采用去指针的紧凑存储格式
list-max-ziplist-value 64 #list数据类型节点值大小小于多少字节会采用紧凑存储格式
set-max-intset-entries 512
#set数据类型内部数据如果全部是数值型,且包含多少节点以下会采用紧凑格式存储
activerehashing yes #是否激活重置哈希
本文出自 “自动化运维” 博客,请务必保留此出处http://hongchen99.blog.51cto.com/12534281/1927936
以上是关于redis tcp-keepalive 一般设置多久的主要内容,如果未能解决你的问题,请参考以下文章