redis 验证消息队列也是写磁盘的
# 下面的例子将会进行把数据写入磁盘的操作:
# 900秒(15分钟)之后,且至少1次变更
# 300秒(5分钟)之后,且至少10次变更
# 60秒之后,且至少10000次变更
#
# 注意:你要想不写磁盘的话就把所有 "save" 设置注释掉就行了。 save 900 1
save 300 10
save 60 10000 redis01:/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
aaaaaaaaaaa 127.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" 验证消息队列也是写磁盘的
redis 验证消息队列也是写磁盘的的更多相关文章
- Redis作为消息队列服务场景应用案例
NoSQL初探之人人都爱Redis:(3)使用Redis作为消息队列服务场景应用案例 一.消息队列场景简介 “消息”是在两台计算机间传送的数据单位.消息可以非常简单,例如只包含文本字符串:也可以更 ...
- Redis 做消息队列
一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式.利用redis这两种场景的消息队列都能够实现.定义: 生产者消费者模式:生产者生产消息放到队列里,多个消费者同时监听队列, ...
- 基于Redis的消息队列php-resque
转载:http://netstu.5iunix.net/archives/201305-835/ 最近的做一个短信群发的项目,需要用到消息队列.因此开始了我对消息队列选型的漫长路. 为什么选型会纠结呢 ...
- 程序员过关斩将--redis做消息队列,香吗?
Redis消息队列 在程序员这个圈子打拼了太多年,见过太多的程序员使用redis,其中一部分喜欢把redis做缓存(cache)使用,其中最典型的当属存储用户session,除此之外,把redis作为 ...
- redis resque消息队列
Resque 目前正在学习使用resque .resque-scheduler来发布异步任务和定时任务,为了方便以后查阅,所以记录一下. resque和resque-scheduler其优点在于功能比 ...
- 【springboot】【redis】springboot+redis实现发布订阅功能,实现redis的消息队列的功能
springboot+redis实现发布订阅功能,实现redis的消息队列的功能 参考:https://www.cnblogs.com/cx987514451/p/9529611.html 思考一个问 ...
- 【Redis】php+redis实现消息队列
在项目中使用消息队列一般是有如下几个原因: 把瞬间服务器的请求处理换成异步处理,缓解服务器的压力 实现数据顺序排列获取 redis实现消息队列步骤如下: 1).redis函数rpush,lpop 2) ...
- Lumen开发:结合Redis实现消息队列(1)
1.简介 Lumen队列服务为各种不同的后台队列提供了统一的API.队列允许你推迟耗时任务(例如发送邮件)的执行,从而大幅提高web请求速度. 1.1 配置 .env文件的QUEUE_DRIVER选项 ...
- Redis除了做缓存--Redis做消息队列/Redis做分布式锁/Redis做接口限流
1.用Redis实现消息队列 用命令lpush入队,rpop出队 Long size = jedis.lpush("QueueName", message);//返回存放的数据条数 ...
随机推荐
- ASP.NET MVC 3 Razor Nested foreach with if statements
You need to write code this way. @Html.Raw("<tr>") Copy the below code and paste it ...
- Maven Installation
OS:Ubuntu 14.04 Extract the distribution archive, i.e. apache-maven-3.2.2-bin.tar.gz to the director ...
- c++应用程序文件的编译过程
这里讲下C++文件的编译过程及其中模板的编译过程: 一:一般的C++应用程序的编译过程. 一般说来,C++应用程序的编译过程分为三个阶段.模板也是一样的. 在cpp文件中展开include文件 ...
- memcached几个easy被忽略但很实用的命令
一.CAS和GETS Memcached从1.2.4版本号新增CAS(Check and Set)协议,用于处理同一个ITEM(key-value)被多个session更新改动时的数据一致性问题. 如 ...
- ios 绘制wav波形图
最近研究了如何在iOS上绘制wav波形图.查了很多资料,都没能找到一个很完整的介绍,我这里总结一下一些经验. 首先需要了解wav的这3个重要指标:采样率.采样位数.声道数.下面以16KHz, 16Bi ...
- C++沉思录之三——设计容器类
一.对容器的基本认识 总的来说,容器应该包含放在其中的对象的副本,而不是对象本身. 二.复制容器意味着什么? 通常将容器成为模板,而容器内的对象的类型就是模板参数.Container<T> ...
- LDAP-常用命令
1.recreating default ads instance ./ [root@dhcppc2 ~]# dsadm delete /usr/local/dsee7/var/dcc/ads #de ...
- 显示目录树命令tree
-a:显示所有文件,包括隐藏文件 -d:只显示目录 -f:显示完整的文件名,包含路径 -L:显示目录树的深度 [root@rusky /]# tree -L -a -f /home /home |-- ...
- RPM包查询
一.查询包是否安装 [root@localhost Packages]# rpm -q httpd ---> 查询已安装的包(命令包名) #选项: # -q 查 ...
- JAVA 泛型练习
二分查找: public class Q212 { public static void main(String [] args) { Integer []arr = {1,2,3,4,5,6,7,8 ...