mcq 轻量级的消息队列

来源:互联网 发布:数据分析报告怎么做 编辑:程序博客网 时间:2024/04/30 15:55
      持久化消息队列memcacheq(简称mcq)是一个轻量级的消息队列。mcq依赖于Berkeley DB和libevent。Berkeley DB用于持久化存储队列的数据,避免在mcq崩溃或这服务器当掉时候,不至于数据丢失。
特性:
1.damn simple (简单易用)
2.very fast    (处理速度快)
3.multiple queue (多条队列)
4.concurrent well (并发性能好)
5.memcache protocol compatible (与memcache的协议兼容)

使用场景:高并发、数据可以弱一致性.(有待添加,欢迎提出各自应用的场景).

mcq的方法:set、get、delete


1.set 增加一个信息到队列的尾部:
set <queue name> <flags> 0 <message_len>\r\n(回车)
<put your message body here>\r\n(回车)
STORED\r\n  
例:
  set test_queue 0 0 2 
  te
  STORED
  set test_queue 0 0 3 
  tes
  STORED
  注:信息不能大于message_len。大于message_len会报错.message_len以字节为单位。
  set test_queue 0 0 2
  tes
  CLIENT_ERROR bad data chunk
  ERROR
  注:你超出message_len范围后会报错,错误的数据集。

查看队列:stats queue
stats queue
STAT test_queue 2/0 (队列test_queue里面有2条信息,读取了0条)

END


2. get 从队列的头部查询一条信息并销毁:
get <queue name>\r\n
VALUE <queue name> <flags> <message_len>\r\n
<your message body will come here>\r\n
END\r\n
例:
   get test_queue
   VALUE test_queue 0 2
   te
   END
可以看出是查询的第一个插入的信息。
查看队列:stats queue
stats queue
STAT test_queue 2/1 (队列test_queue里面有2条信息,读取了1条)
END

3.delete 删除队列
delete <queue name>
例:
    delete test_queue
    DELETED
查看队列:
stats queue
END
已经删除了。

这么简单?对,就是这么简单。mcq的特性之一 damn simple.

安装memcached及memcacheq: http://www.cnblogs.com/sunzy/archive/2012/04/13/2446234.html



转载自:http://blog.csdn.net/tsuliuchao/article/details/8516616

0 0
原创粉丝点击