1、修改stop-writes-on-bgsave-error为no
当前配置为yes,分别修改redis.conf和当前实例
#redis.conf
stop-writes-on-bgsave-error no

#登陆redis执行
config set stop-writes-on-bgsave-error no
查看
config get stop-writes-on-bgsave-error

此参数设置为no,可以避免MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk。

2、开启appendonly
当前配置为appendonly no,即禁用了appendonly功能,这样的风险是一旦redis实例crash,重启后只能恢复到最近1次快照(即bgsave产生的rdb文件),可能会丢失很长时间的数据。
appendonly可以实现准实时刷盘,默认每1s将数据追加到磁盘文件,也可以配置成每次修改都刷盘,当redis crash时最大限度的保证数据完整性。

修改redis.conf和当前实例
#redis.conf
appendonly yes
appendfsync everysec

#登陆redis执行
config set appendonly yes
config get appendonly

同时需要设置no-appendfsync-on-rewrite yes

这两个参数可以确保redis每1分钟刷盘一次,也可以设置appendfsync always,即每次写都实时刷盘,避免redis crash造成数据丢失

3、添加最大内存阈值maxmemory
此参数限制redis可以占有的最大内存,一旦超出便淘汰过期key,可以避免因内存不足触发OOM。
这个参数和实际部署环境有关,要根据实际情况指定参数值,比如3G或者4G。

参考配置
maxmemory 3G
maxmemory-policy volatile-lru
maxmemory-samples 5

此参数可以避免redis过度占用机器内存,避免因内存不足导致的各种错误

redis参数改进建议的更多相关文章

  1. 【JeecgBoot】关于 jeecg-boot 的项目理解、使用心得和改进建议

    工欲善其事,必先利其器. 脚手架选型 一年前,我接到为团队落地一个快速开发脚手架的任务. 在月底这节骨眼上,时间紧,任务急,有想自己撸一个脚手架的人都赶紧把这想法收起来吧!这劳民又伤身的事咱肯定是不能 ...

  2. 王者荣耀交流协会互评Beta版本及答复功能改进建议、Bug修正

    互评Beta版本 欢迎来怼团队博客园安卓APP Thunder团队爱阅app 探路者团队贪吃蛇 Hello World!团队项目空天猎 答复功能改进建议 答复其他各组给出的“就现有技术和工作量,不改变 ...

  3. JAVA调用shell脚本利用ansible修改多节点上的redis参数

    创建hosts文件 创建ansible-playbook执行时所用到的hosts文件,例如 /etc/redis/hosts 利用shell命令根据传入的host名和地址写入hosts文件: #set ...

  4. redis参数AOF参数的bug

    问题:redis 不想开启AOF了.但是还老是出现BGREWRITEAOF .(本redis版本为4.0.6) 涉及持久化参数设置如下: 排查及结果: 该redis以前开启过 AOF ,后来停止AOF ...

  5. redis常用命令建议

    1. Redis查看当前所有的key KEYS * 2. 查看当前redis的配置信息 CONFIG GET * 3. MISCONF Redis is configured to save RDB ...

  6. 又拍云 Redis 的改进之路

    作为推出国内首创可编程 CDN 服务的专业云服务提供商,又拍云利用 CDN 边缘网络规模和性能,允许客户自定义编写规则来满足常用业务场景.而为了保证这些源数据,如边缘重定向.请求限速.自定义错误页面. ...

  7. redis参数优化

    redis内存管理方式,支持tcmalloc,jemalloc,malloc三种内存分配,memcache使用slabs,malloc等内存分配方式. 简单点,就是redis,是边用边申请,使用现场申 ...

  8. Redis参数配置和运维说明

    开发过程中使用缓存的情况还是比较多的,记录一下Redis的参数说明以备以后查看: #Redis Config daemonize yes pidfile /var/run/redis.pid port ...

  9. redis参数配置说明

    参数说明redis.conf 配置项说明如下:1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程  daemonize no2. 当Redis以守护进程方式运行 ...

随机推荐

  1. 获取laravel项目的路径的内置帮助函数

    app_path() app_path函数返回app目录的绝对路径: $path = app_path(); 你还可以使用app_path函数为相对于app目录的给定文件生成绝对路径: $path = ...

  2. workerman的使用实践--并与solaris通信

    Workerman与solarisTCP通信测试 1.  笔记本win7,tcp_test.php 2.  solaris,test.c 编译命令: gcc test.c –o  test –lsoc ...

  3. Spring4相关jar包介绍(转)

    Spring4相关jar包介绍 spring-core.jar(必须):这个jar 文件包含Spring 框架基本的核心工具类.Spring 其它组件要都要使用到这个包里的类,是其它组件的基本核心,当 ...

  4. C#:memcached安装及.NET中的Memcached.ClientLibrary使用详解

    memcached分布式缓存的负载均衡配置比例,数据压缩,socket的详细配置等,以及在.net中的常用方法. 下载地址:http://pan.baidu.com/s/1yVILw       提取 ...

  5. Vivado约束文件(XDC)的探究(1)

    Vivado约束文件(XDC)的探究(1) 工程建好之后会出现xdc文件: 注意:active 和 target 生成的约束文件如下:

  6. 根据时间段获取时间段内所有时间点(js)

    Date.prototype.format=function (){var s='';s+=this.getFullYear()+'-';// 获取年份.s+=(this.getMonth()+1)+ ...

  7. linux 创建软链接

    ln –s 源文件 目标文件

  8. Visio View:打开VSd时,IE弹出已停止工作。

    解决办法:关闭第三方扩展功能

  9. MySQL中int(M)和tinyint(M)数值类型中M值的意义

    在一开始接触MySQL数据库时,对于int(M)及tinyint(M)两者数值类型后面的M值理解是最多能够插入数据库中的值不能大于M: 后来工作后,也是一边学习一边使用,之后的理解是其中的M的意思是插 ...

  10. 【maven】之打包war依赖子项目jar

    比如 p-common p-core p-dao p-service p-web service项目依赖dao,dao依赖core和common,web依赖service 在使用maven tomca ...