# 下面的例子将会进行把数据写入磁盘的操作:
# 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 验证消息队列也是写磁盘的的更多相关文章

  1. Redis作为消息队列服务场景应用案例

    NoSQL初探之人人都爱Redis:(3)使用Redis作为消息队列服务场景应用案例   一.消息队列场景简介 “消息”是在两台计算机间传送的数据单位.消息可以非常简单,例如只包含文本字符串:也可以更 ...

  2. Redis 做消息队列

    一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式.利用redis这两种场景的消息队列都能够实现.定义: 生产者消费者模式:生产者生产消息放到队列里,多个消费者同时监听队列, ...

  3. 基于Redis的消息队列php-resque

    转载:http://netstu.5iunix.net/archives/201305-835/ 最近的做一个短信群发的项目,需要用到消息队列.因此开始了我对消息队列选型的漫长路. 为什么选型会纠结呢 ...

  4. 程序员过关斩将--redis做消息队列,香吗?

    Redis消息队列 在程序员这个圈子打拼了太多年,见过太多的程序员使用redis,其中一部分喜欢把redis做缓存(cache)使用,其中最典型的当属存储用户session,除此之外,把redis作为 ...

  5. redis resque消息队列

    Resque 目前正在学习使用resque .resque-scheduler来发布异步任务和定时任务,为了方便以后查阅,所以记录一下. resque和resque-scheduler其优点在于功能比 ...

  6. 【springboot】【redis】springboot+redis实现发布订阅功能,实现redis的消息队列的功能

    springboot+redis实现发布订阅功能,实现redis的消息队列的功能 参考:https://www.cnblogs.com/cx987514451/p/9529611.html 思考一个问 ...

  7. 【Redis】php+redis实现消息队列

    在项目中使用消息队列一般是有如下几个原因: 把瞬间服务器的请求处理换成异步处理,缓解服务器的压力 实现数据顺序排列获取 redis实现消息队列步骤如下: 1).redis函数rpush,lpop 2) ...

  8. Lumen开发:结合Redis实现消息队列(1)

    1.简介 Lumen队列服务为各种不同的后台队列提供了统一的API.队列允许你推迟耗时任务(例如发送邮件)的执行,从而大幅提高web请求速度. 1.1 配置 .env文件的QUEUE_DRIVER选项 ...

  9. Redis除了做缓存--Redis做消息队列/Redis做分布式锁/Redis做接口限流

    1.用Redis实现消息队列 用命令lpush入队,rpop出队 Long size = jedis.lpush("QueueName", message);//返回存放的数据条数 ...

随机推荐

  1. POJ1741--Tree (树的点分治) 求树上距离小于等于k的点对数

    Tree Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 12276   Accepted: 3886 Description ...

  2. SPOJ3267--D-query (主席树入门练习)

    题意:查找区间内不同数字的个数. 两种做法,一种是 树状数组离线,另一种就是主席树. 树状数组离线操作的链接 http://www.cnblogs.com/oneshot/p/4110415.html ...

  3. httpd与tomcat基于mod_jk整合

    搞定在前面述, httpd与tomcat整合方式 当前已知的有 ajp_proxy,mod_jk.so jk connecteor连接器下载地址 http://archive.apache.org/d ...

  4. Myeclipse自动生成javabean的get和set方法

    用Myeclipse开发java web程序,写javabean的时候,如果字段很多的话,写get和set方法是一件很无语和浪费时间的事情,所以Myeclipse提供了一个自动生成这些方法的功能. 首 ...

  5. 视图的touch事件的传播控制

    在视图控制器类中.self.view中会包含多个多层的自己定义视图. 我自己定义了一个uicollectionview类,名称为gridview,又自己定义了一个uicollectionviewcel ...

  6. Python字符串格式符号含义

    ====== #字符串格式化符号含义 #%C 格式化字符串及其ASCLL码 >>> '%c' %97 'a' >>> '%c' % 97 'a' >>& ...

  7. 从TableviewCell中获得TableviewController的几种方式

    id view = [self superview]; // 获取cell所在的tableview while (view && [view isKindOfClass:[UITabl ...

  8. ansible 学习与实践

    title: ansible 学习与实践 date: 2016-05-06 16:17:28 tags: --- ansible 学习与实践 一 介绍 ansible是新出现的运维工具是基于Pytho ...

  9. Linux 创建swap分区

    --首先分出一个分区 /dev/sda5 (注意分区类型)mkswap /dev/sda5           --格式化分区成swap格式swapon /dev/sda5           --激 ...

  10. Java初转型-MavenWEB项目搭建

    http://www.cnblogs.com/xdp-gacl/p/4054814.html