一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式。利用redis这两种场景的消息队列都能够实现。定义:生产者消费者模式:生产者生产消息放到队列里,多个消费者同时监听队列,谁先抢到消息谁就会从队列中取走消息;即对于每个消息只能被最多一个消费者拥有。发布者订阅者模式:发布者生...
分类:
其他好文 时间:
2014-05-19 06:59:46
阅读次数:
446
贵灯提供的简单打印函数,非原创; 注意: do{}while(false); 的使用(内部多个判断,用
do false 中的 break 可以避免使用 if true 引起的嵌套层数过多); 关键段 CRITICAL_SECTION 的使用,封装了 lock 和
unlock 函数; 不定长参数 ...
分类:
其他好文 时间:
2014-05-16 04:26:20
阅读次数:
321
查看RDB文件结构,发现最后的8字节是CRC64校验算得,从文件头开始直到8字节校验码前的FF结束码(含),经过CRC64校验计算发现,貌似最后的8字节是小端模式实现的。参考redis的crc64实现的代码,点击查看Java代码如下:
1 package com.jadic.utils; 2 3 ....
分类:
数据库 时间:
2014-05-15 22:28:53
阅读次数:
1123
连接管理器: 接受请求 创建线程 认证用户 建立安全连接并发控制: mbox:MDA C/S:
100 10分钟: 多版本并发控制: MVCC锁: 读锁:共享锁 写锁:独占锁 LOCK TABLES tb_name {READ|WRITE}; UNLOCK
TABLES...
分类:
数据库 时间:
2014-05-15 17:29:22
阅读次数:
423
前言:这里介绍一个python下,比celery更加简单的异步工具,真的是很简单,当然他的功能没有celery多,复杂程度也没有celery大,文档貌似也没有celery多,但是为啥会介绍rq这个东西因为他够简单。当然他虽然简单,但是也是需要中间人的,也就是Broker,这里只能是redis了。他没..
分类:
编程语言 时间:
2014-05-15 09:21:14
阅读次数:
568
Redis自动安装部署
本文总共分为4个部分:
redis自动安装脚本目录结构说明;
redis自动安装脚本内容;
redis的操作系统服务脚本说明;
本文引用的资料链接地址。...
分类:
其他好文 时间:
2014-05-15 08:22:14
阅读次数:
235
最近做日志分析,发现logstash较符合自己的需求,Logstash:做系统log收集,转载的工具。同时集成各类日志插件,对日志查询和分析的效率有很大的帮助.一般使用shipper作为log收集、indexer作为log转载.Logstashshipper收集log并将log转发给redis存储Logstashindexer从redis中读..
分类:
其他好文 时间:
2014-05-15 00:42:49
阅读次数:
655
前段时间研究过一阵子无锁化编程。刚写了几个简单的程序,来验证了下自己学到的一些概念。
测试场景:假设有一个应用:现在有一个全局变量,用来计数,再创建10个线程并发执行,每个线程中循环对这个全局变量进行++操作(i++),循环加2000000次。
所以很容易知道,这必然会涉及到并发互斥操作。下面通过三种方式来实现这种并发操作。并对比出其在效率上的不同之处。
......
通过编程测试及测试得出结论:
1、如果是想用全局变量来做统计操作。而又不得不考虑多线程间的互斥访问的话,最好使用编译器支持的原子操作函...
分类:
其他好文 时间:
2014-05-15 00:17:24
阅读次数:
390
引言: 本文将讲述如何在Redis进行主从设置。...
分类:
其他好文 时间:
2014-05-14 23:57:32
阅读次数:
514
ReentrantLock是一个可重入的互斥锁,实现了接口Lock,和synchronized相比,它们提供了相同的功能,但ReentrantLock使用更灵活,功能更强大,也更复杂。这篇文章将为你介绍ReentrantLock,以及它的实现机制。
ReentrantLock介绍
通常,ReentrantLock按下面的方式使用:
public class ReentrantLockTest...
分类:
其他好文 时间:
2014-05-14 20:02:26
阅读次数:
397