# 下面的例子将会进行把数据写入磁盘的操作:
# 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. Android中的PopupWindow的使用

    PopupWindow 需要一个自定义的布局文件 列如:popupwindow.xml <?xml version="1.0" encoding="utf-8&qu ...

  2. win7下自写驱动导致开机蓝屏调试过程

    之前没有接触过驱动调试.这里上手就要解决一个因为某个自定义驱动导致的系统登陆后蓝屏问题,记录下来.   问题: 从客户那边弄来的一个虚拟机,已知是加了我们的驱动之后才会导致蓝屏. 解决过程:   使用 ...

  3. 为什么p标签不能嵌套div??

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...

  4. socket实现局域网通信

    今天实现了一个局域网通信的小例子,上来记录一下,代码不成熟,勿拍. 这是我本机客户端: 这是我虚拟机的客户端. 我为他们分配了静态IP,这样就可以实现局域网通信了.注意代码中必须把监视线程的IsBac ...

  5. svn出现“Previous operation has not finished; run 'cleanup' if it was interrupted”,解决方法

    1.首先不需要动svn的服务器端.2.在客户端安装svn的客户端工具,自定义工具中为:command line client tools    安装完之后,在本地目录有svn.exe执行程序3.然后c ...

  6. StringBuffer学习笔记

    StringBuffer是什么? StringBuffer是使用缓冲区的,本身也是操作字符串的,它是一个具体的操作类.与String类不同的是,它其中的内容是可以改变的.它不能像String那样采用直 ...

  7. [React] React Router: Named Components

    In this lesson we'll learn how to render multiple component children from a single route. Define a n ...

  8. C++沉思录之一

    一.系统跟踪类Trace的设计过程: step1:简单版 class Trace { public: Trace() { noisy = ; } void print(char* s) { if(no ...

  9. jquery之onchange事件

    $(function(){ $("#opreateHtml").window("close"); $("#deliveryGrid").da ...

  10. Sql 2012 OFFSET / FETCH NEXT BUG

    上个星期,测试发现了一个分页的bug--- 无论怎么分页数据的一样.我们所有的分页都是用EF 分页,为什么只有一个模块的分页有问题呢? 后来跟了下sql语句,发现用到是sql2012的新分页方式 OF ...