redis 验证消息队列也是写磁盘的
# 下面的例子将会进行把数据写入磁盘的操作:
# 900秒(15分钟)之后,且至少1次变更
# 300秒(5分钟)之后,且至少10次变更
# 60秒之后,且至少10000次变更
#
# 注意:你要想不写磁盘的话就把所有 "save" 设置注释掉就行了。save 900 1
save 300 10
save 60 10000redis01:/data01/redis# cat /etc/redis.conf | grep mem
redis01:/data01/redis# cat /etc/redis.conf | grep save
save 10 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes如果启用如上的快照(RDB),在一个存盘点之后,可能磁盘会坏掉或者权限问题,redis将依然能正常工作stop-writes-on-bgsave-error yes关于maxmemory的设置,如果redis的应用场景是作为db使用,那不要设置这个选项,因为db是不能容忍丢失数据的。
如果作为cache使用,则可以启用这个选项(其实既然有淘汰策略,那就是cache了。。。) 指定Redis最大内存限制,Redis在启动时会把数据加载到内存中,达到最大内存后,Redis会先尝试清除已到期或即将到期的Key,
# 当此方法处理后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。
# Redis新的vm机制,会把Key存放内存,Value会存放在swap区/*****************测试:[elk@zjtest7-frontend config]$ cat logstash_agent.conf
input {stdin {type => "uat_test_scan" } }output {if [type] == "uat_test_scan"{redis { host => "192.168.32.67" data_type => "list" key => "uat_test_scan:redis" port=>"6379" password => "1234567" } } }[elk@zjtest7-frontend config]$ ../bin/logstash -f logstash_agent.conf
Settings: Default pipeline workers: 1
Pipeline main started
aaaaaaaaaaa127.0.0.1:6379> LLEN "uat_test_scan:redis"
(integer) 1此时队列深度为1取走消息:
127.0.0.1:6379> BLPOP "uat_test_scan:redis" 1
1) "uat_test_scan:redis"
2) "{\"message\":\"aaaaaaaaaaa\",\"@version\":\"1\",\"@timestamp\":\"2016-09-23T05:01:16.766Z\",\"type\":\"uat_test_scan\",\"host\":\"0.0.0.0\"}"
127.0.0.1:6379> BLPOP "uat_test_scan:redis" 2
(nil)
(2.04s)
127.0.0.1:6379> LLEN "uat_test_scan:redis"
(integer) 0重启redis后 消息仍旧在
127.0.0.1:6379> LLEN "uat_test_scan:redis"
(integer) 1
127.0.0.1:6379> BLPOP "uat_test_scan:redis" 2
1) "uat_test_scan:redis"
2) "{\"message\":\"3131313\",\"@version\":\"1\",\"@timestamp\":\"2016-09-23T05:15:30.601Z\",\"type\":\"uat_test_scan\",\"host\":\"0.0.0.0\"}"# 注意:你要想不写磁盘的话就把所有 "save" 设置注释掉就行了。save 900 1
save 300 10
save 60 10000
重启前:
127.0.0.1:6379> auth 1234567
OK
127.0.0.1:6379> keys *1) "\xac\xed\x00\x05t\x00!message_left:20160825:15950503897"2) "\xac\xed\x00\x05t\x00\x18contract_rebuild_qty:417"3) "uat_test_scan:redis"4) "\xac\xed\x00\x05t\x00!message_left:20160630:18158464881"5) "\xac\xed\x00\x05t\x00\x18contract_rebuild_qty:422"6) "\xac\xed\x00\x05t\x00Dapp_permission_cache:com.zjzc.common.vo.permission.AppPermissionBean"7) "logstash-demochan"8) "\xac\xed\x00\x05t\x00!message_left:20160815:18957143393"9) "\xac\xed\x00\x05t\x00\x18contract_rebuild_qty:423"
10) "aa"
11) "\xac\xed\x00\x05t\x00\x18contract_rebuild_qty:427"
127.0.0.1:6379> LLEN "uat_test_scan:redis"
(integer) 1
127.0.0.1:6379>
redis01:/etc/init.d# ps -ef | grep redis
root 18595 1 0 13:36 ? 00:00:00 /usr/local/bin/redis-server *:6379
root 18604 17672 0 13:36 pts/0 00:00:00 grep redis
redis01:/etc/init.d# kill -9 18595
redis01:/etc/init.d# ps -ef | grep redis重启后:127.0.0.1:6379> keys *1) "\xac\xed\x00\x05t\x00!message_left:20160630:18158464881"2) "\xac\xed\x00\x05t\x00!message_left:20160825:15950503897"3) "\xac\xed\x00\x05t\x00\x18contract_rebuild_qty:423"4) "aa"5) "\xac\xed\x00\x05t\x00Dapp_permission_cache:com.zjzc.common.vo.permission.AppPermissionBean"6) "\xac\xed\x00\x05t\x00\x18contract_rebuild_qty:427"7) "\xac\xed\x00\x05t\x00\x18contract_rebuild_qty:422"8) "\xac\xed\x00\x05t\x00!message_left:20160815:18957143393"9) "\xac\xed\x00\x05t\x00\x18contract_rebuild_qty:417"
10) "logstash-demochan"验证消息队列也是写磁盘的
转载于:https://www.cnblogs.com/zhaoyangjian724/p/6199171.html
redis 验证消息队列也是写磁盘的相关推荐
- redis实现消息队列的几种方式及其优劣
概述 常用的消息队列有,rabbitMq.kafka.RocketMq.ActiveMq等.这些消息队列需要独立安装部署,作为一个中间件来提供服务,虽然有着高性能.高可靠的优点,但是额外部署这些中间件 ...
- Redis做消息队列,香吗?
来自:架构师修行之路 菜菜哥,我刚做完了一个订单系统,感觉很简单呀 说说看,大量的订单状态怎么处理的? 我设计的时候可是考虑了这一点,所以用了异步处理,采用了MQ 那用的什么MQ呢,透露一下呗 我用的 ...
- 用redis实现消息队列(实时消费+ack机制)【转】
用redis实现消息队列(实时消费+ack机制) java queue 消息队列 redis 消息队列 首先做简单的引入. MQ主要是用来: 解耦应用. 异步化消息 流量削峰填谷 目前使用的较多的有A ...
- 使用Redis 实现消息队列
一 .为什么要用Redis实现轻量级MQ? MQ的主要作用: 应用解耦 异步化消息 流量削峰填谷 目前使用比较多的是ActiveMQ . RabbitMQ . ZeroMQ . Kafka . Met ...
- 【BCVP】实现基于 Redis 的消息队列
聆听自己的声音 如果自己学不动了,或者感觉没有动力的时候,看看书,听听音乐,跑跑步,休息两天,重新出发,偷懒虽好,可不要贪杯. 话说上回书我们说到了,Redis的使用修改<[BCVP更新]Sta ...
- 程序员过关斩将--redis做消息队列,香吗?
菜菜哥,我刚做完了一个订单系统,感觉很简单呀 说说看,大量的订单状态怎么处理的? 我设计的时候可是考虑了这一点,所以用了异步处理,采用了MQ 那用的什么MQ呢,透露一下呗 我用的redis做的MQ,很 ...
- 基于Redis的消息队列php-resque
转载:http://netstu.5iunix.net/archives/201305-835/ 最近的做一个短信群发的项目,需要用到消息队列.因此开始了我对消息队列选型的漫长路. 为什么选型会纠结呢 ...
- Elasticsearch 跨机房灾备方案实战(一) —— 消息队列实现双写
一.简介 Elasticsearch 集群的高可用,跨机房做异地灾备,确保在某个机房不可用时,还能持续对外提供业务,对比了多个双活Elasticsearch 集群同步之后,最后选择了借助消息队列实现双 ...
- 使用Redis搭建消息队列(python版)
最近在工作中遇到了一个场景是这样的: 每到月初我们需要向上个月考勤有异常的同学的企业微信推送异常考勤提醒,让有异常的同学及时处理:补卡或者提交对应的请假申请等等.之前的做法是直接循环数据库,查处有异常 ...
- springboot使用redis实现消息队列功能,redis使用list和stream实现消息队列功能,redis实现消息队列的风险点分析
文章目录 写在前面 基于list的消息队列解决方案 使用list基本实现消息队列 阻塞式消费,避免性能损失 替换while(true) 实现消息幂等 保证消息可靠性 基于stream的消息队列解决方案 ...
最新文章
- c语言产生1-6,C语言 1-6小结.ppt
- 为SAP Spartacus安装后台必须的Commerce Cloud
- .size .shape .size() type的运用
- linux命令 recv阻塞时间,linux下close 掉socket 之后 阻塞的recv 不会立即返回
- Shell之分支结构和循环结构
- 点击头像上传文件的效果
- 排序(2)二分排序、快速排序、归并排序
- 计算机编程php网页源码水果网上销售系统mysql数据库web结构html布局
- Java常用代码汇总(经典代码)
- 多功能智慧路灯杆商业模式解决方案
- win7 微信 代理服务器设置,手把手为你讲解win7系统电脑登录多个微信的详细方法...
- YOLO Air:科研改进论文推荐 | 改进组合上千种搭配,包括Backbone,Neck,Head,注意力机制,适用于YOLOv5、YOLOv7、YOLOX等算法
- Office快捷键大全之二(Excel快捷键)
- pycharm远程连接服务器,同步代码,使用GPU
- oracle 一个表上的多个触发器的执行顺序
- java 分贝_Android实时获取音量(单位:分贝)
- UE4 安卓手机launch报错
- 使用晨曦记账本,认识记账的重要性
- JSP入门教程(一)
- linux增加预读缓存区大小,Linux blockdev命令设置文件预读大小介绍