MemcacheQ 安装与使用

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

MemcacheQ 是一个基于 MemcacheDB 的消息队列服务器。官网地址:http://memcachedb.org/memcacheq/


特点:

1.简单易用。

2.处理速度快。

3.可创建多条队列。

4.并发性能高。

5.与memcache协议兼容。

MemcacheQ 依赖 Berkeley DB 和 libevent(1.4 或更高)。

Berkeley DB用于持久化存储队列数据,避免当MemcacheQ崩溃或服务器死机时发生数据丢失。


1.安装Berkeley DB

下载地址:http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/downloads/index.html?ssSourceSiteId=ocomcn

$tar xvzf db-6.0.20.tar.gz$cd db-6.0.20/$cd build_unix/$../dist/configure$make$sudo make install


2.安装libevent

下载地址:http://libevent.org/

$tar xvzf libevent-2.0.21-stable.tar.gz$cd libevent-2.0.21-stable$./configure$make$sudo make install
增加两行到 /etc/ld.so.conf

/usr/local/lib/usr/local/BerkeleyDB.6.0/lib
新增完运行命令刷新

sudo ldconfig


3.安装MemcacheQ

下载地址:https://code.google.com/p/memcacheq/downloads/list

创建libdb.so softlink

ln -s /usr/local/BerkeleyDB.6.0/lib/libdb-6.0.so /usr/lib/libdb.so

$tar xvzf memcacheq-0.2.x.tar.gz$cd memcacheq-0.2.x$./configure --with-bdb=/usr/local/BerkeleyDB.6.0 --with--libevent=/usr/lib --enable-threads$make$sudo make install

--with-bdb=/usr/local/BerkeleyDB.6.0 指定 Berkeley DB路径

--with--libevent=/usr/lib 指定 libevent 路径

--enable-threads 开启多线程


4.运行与使用

参数列表:

-p <num>      TCP监听端口(default: 22201)-U <num>      UDP监听端口(default: 0, off)-s <file>     unix socket路径(不支持网络)-a <mask>     unix socket访问掩码(default 0700)-l <ip_addr>  监听网卡-d            守护进程-r            最大化核心文件限制-u <username> 以用户身份运行(only when run as root)-c <num>      最大并发连接数(default is 1024)-v            详细输出 (print errors/warnings while in event loop)-vv           更详细的输出 (also print client commands/reponses)-i            打印许可证信息-P <file>     PID文件-t <num>      线程数(default 4)--------------------BerkeleyDB Options--------------------------------m <num>      BerkeleyDB内存缓存大小, default is 64MB-A <num>      底层页面大小, default is 4096, (512B ~ 64KB, power-of-two)-H <dir>      数据库家目录, default is '/data1/memcacheq'-L <num>      日志缓冲区大小, default is 32KB-C <num>      多少秒checkpoint一次, 0 for disable, default is 5 minutes-T <num>      多少秒memp_trickle一次, 0 for disable, default is 30 seconds-S <num>      多少秒queue stats dump一次, 0 for disable, default is 30 seconds-e <num>      达到缓存百分之多少需要刷新, default is 60%-E <num>      一个单一的DB文件有多少页, default is 16*1024, 0 for disable-B <num>      指定消息体的长度,单位字节, default is 1024-D <num>      多少毫秒做一次死锁检测(deadlock detecting), 0 for disable, default is 100ms-N            开启DB_TXN_NOSYNC获得巨大的性能改善, default is off-R            自动删除不再需要的日志文件, default is off

启动MemcacheQ

memcacheq -d -r -H /data1/memcacheq -N -R -v -L 1024 -B 1024 > /data1/mq_error.log 2>&1

memcacheq -h 查看更多设置

<?php/* 连接memcacheq server */$memcache_obj = new Memcache();$memcache_obj->connect('localhost', 22201); // default port 22201/* 添加到对列 */$memcache_obj->set('demoqueue1', 'message body here1', MEMCACHE_COMPRESSED, 0);$memcache_obj->set('demoqueue1', 'message body here2', MEMCACHE_COMPRESSED, 0);$memcache_obj->set('demoqueue1', 'message body here3', MEMCACHE_COMPRESSED, 0);$memcache_obj->set('demoqueue1', 'message body here4', MEMCACHE_COMPRESSED, 0);/* 移出对列 */echo $memcache_obj->get('demoqueue1').'<br>';echo $memcache_obj->get('demoqueue1').'<br>';echo $memcache_obj->get('demoqueue1').'<br>';echo $memcache_obj->get('demoqueue1').'<br>';$memcache_obj->close();?>



           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow
这里写图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值