redis参数改进建议

摘要:
附带可实现准实时磁盘刷新。默认情况下,数据每1秒添加一次到磁盘文件。它还可以配置为在每次修改磁盘时刷新磁盘。当发生重新崩溃时,可以最大程度地保证数据的完整性。


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参数改进建议》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇数据算法 --hadoop/spark数据处理技巧 --(13.朴素贝叶斯 14.情感分析)js中实现高德地图坐标经纬度转百度地图坐标下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

利用github的webhook进行自动部署

利用github的webhook进行自动部署 github提供了webhook功能,大概意思就是,当你提交了代码,git检测到你进行了push,可以调起你一个你知道的url。 这个功能有什么用了?比如个人博客写文章的时候,提交了github应该马上把服务器的版本也更新一下,这时候webhook就可以很方便的处理这件事情了。 这篇文章主要讲解整套流程如何设置...

爬虫之scrapy-redis

redis分布式部署 scrapy框架是否可以自己实现分布式? 不可以原因有两点 其一:因为多台机器上部署的scrapy会各自拥有各自的调度器,这样就使得多台机器无法分配start_urls列表中的url。(多台机器无法共享同一个调度器) 其二:多台机器爬取到的数据无法通过同一个管道对数据进行统一的数据持久出存储。(多台机器无法共享同一个管道) 基于sc...

thinkphp3.2配置redis缓存和文件缓存

如果把一些常用但又不容易变的数据存缓存,而不是每次查数据库,这样能很大减轻数据库压力 最近由于项目需要,就尝试了一把redis,但是后面又用了tp3.2的文件缓存,直接进入主题: 在config.php中增加如下代码: 'DATA_CACHE_PREFIX' => 'tp',//缓存前缀 'DATA_CACHE_TYPE'=>...

umijs 开发优化和生产优化

.umirc.ts import { defineConfig } from 'umi'; import dev from './config/dev'; import prod from './config/prod'; console.log(process.env.NODE_ENV); const envConfig = 'developmen...

redis 数据类型详解 以及 redis适用场景场合

1.  MySql+Memcached架构的问题     实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题:   1.MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据大量...

微服务部署(一)架构简介

简介金财项目是微服务构架,每个功能模块都是一个单独部署的服务,现有20个服务:AUTH、CUSTOMER、EHALL、CONFIG、EUREKA、GATEWAY、GATEWAY-UI、GENERATOR、JCCOLLEGE、NOTIFY、ORDER、PAY、PRODUCT、REPORT、SECURITY、SYSTEM、STORE、TASK、WECHAT、W...