参考文档: https://www.cnblogs.com/nhdlb/p/14048083.html#_label0
1、配置大小单位,开头定义了一些基本的度量单位,只支持bytes,不支持bit
2、不区分大小写
1、如图
2、多实例的情况可以把公用的配置文件提取出来, 然后include
1、如图
1、如图
Redis 服务默认端口6379
一个空闲的客户端维持多少秒会关闭,0 表示关闭该功能, 即永不超时
tcp-keepalive 是对访问客户端的一种心跳检测,每隔n 秒检测一次, 单位为秒
如果设置为0,则不会进行Keepalive 检测,建议设置成60
TCP 协议中有长连接和短连接之分。短连接环境下,数据交互完毕后,主动释放连接;
长连接的环境下,进行一次数据交互后,很长一段时间内无数据交互时,客户端可能意外断开,这些TCP 连接并未来得及正常释放,那么,连接的另一方并不知道对端的情况,它会一直维护这个连接,长时间的积累会导致非常多的半打开连接,造成端系统资源的消耗和浪费,且有可能导致在一个无效的数据链路层面发送业务数据,结果就是发送失败。所以服务器端要做到快速感知失败,减少无效链接操作,这就有了TCP 的Keepalive(保活探测)机制
解释
守护进程daemon,是指没有控制终端,运行在后台的进程,通常伴随着系统启动产生,系统关机结束。可以使用命令ps -axj查看系统的守护进程
设置yes是开启 no就是关闭
一句话
是否为后台进程,设置为yes
设置为yes 后, 表示守护进程, 后台启动
存放pid 文件的位置,每个实例会产生一个不同的pid 文件, 记录redis 的进程号
redis 日志分为4 个级别,默认的设置为notice, 开发测试阶段可以用debug(日志内容较多,不建议生产环境使用),生产模式一般选用notice
1、logfile “” 就是说,默认为控制台打印,并没有日志文件生成
2、可以为redis.conf 的logfile 指定配置项
提示: 如果提示日志文件redis.log 不存在,创建一个该文件即可
设定库的数量默认16,默认数据库为0 号
可以使用SELECT 命令在连接上指定数据库id
永久设置, 需要在配置文件中进行设置 注意**#**是没有了
----重启Redis-----
测试完毕后, 如果不需要设置密码 在redis.conf 关闭密码, 重启Redis
注意第4步和8步是输入自己想设置的密码
在命令中设置密码,是临时的, 重启redis 服务器,密码就还原了
永久设置,需要在配置文件中进行设置(前面已经讲过了)
● maxmemory 的说明
1、在默认情况下, 对32 位实例会限制在3 GB, 因为32 位的机器最大只支持4GB 的内存,而系统本身就需要一定的内存资源来支持运行,所以32 位机器限制最大3 GB 的可用内存是非常合理的,这样可以避免因为内存不足而导致Redis 实例崩溃
2、在默认情况下, 对于64 位实例是没有限制
3、当用户开启了redis.conf 配置文件的maxmemory 选项,那么Redis 将限制选项的值不能小于1 MB
1、Redis 的maxmemory 设置取决于使用情况, 有些网站只需要32MB,有些可能需要12GB。
2、maxmemory 只能根据具体的生产环境来调试,不要预设一个定值,从小到大测试,基本标准是不干扰正常程序的运行。
3、Redis 的最大使用内存跟搭配方式有关,如果只是用Redis 做纯缓存, 64-128M 对一般小型网站就足够了
4、如果使用Redis 做数据库的话,设置到物理内存的1/2 到3/4 左右都可以
5、如果使用了快照功能的话,最好设置50%以下,因为快照复制更新需要双倍内存空间,比如8g分4g以下好 因为 双倍意思是使用本身的配置的还要使用 配置外的内存 所以是双倍
6、如果没有使用快照而设置redis 缓存数据库,可以设置内存的80%左右,只要能保证Java、NGINX 等其它程序可以正常运行就行了
1、设置样本数量,LRU 算法和最小TTL 算法都并非是精确的算法,而是估算值,所以你可以设置样本的大小,redis 默认会检查这么多个key 并选择其中LRU 的那个
2、一般设置3 到7 的数字,数值越小样本越不准确,但性能消耗越小