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();
?>

转载于:https://www.cnblogs.com/fdipzone/p/3715064.html

MemcacheQ 安装与使用相关推荐

  1. memcacheq 服务安装与原理

    memcacheQ是一个单纯的分布式消息队列服务.它的安装依赖于BerkeleyDB 和 libevent,所以要先安装这BerkeleyDB和libevent: 一,BerkeleyDB 下载软件包 ...

  2. linux memcacheQ的安装与使用

    memcacheQ是一个单纯的分布式消息队列服务. 一,MEMCACHEQ的应用背景 Web应用中为什 么会需要消息队列?主要原因是由于在高并发环境下,由于来不及同步处理,请求往往会发生堵塞,比如说, ...

  3. 缓存中间件-mac下Memcache 安装

    1.美图 2. 安装 Homebrew 安装 Homebrew 3.安装 memcached 安装前,可以先查找一下,看看有没有: base) lcc@lcc github$ brew search ...

  4. mac php memcache扩展,Mac下PHP安装Memcache扩展

    1.如果需要使用本地Memcache服务器,则应在本地安装Memcache服务器,即memcached (1)查找有没有memcached $ brew search memcache 返回结果: l ...

  5. mac下安装python3

    mac下安装python3 1.先用brew search命令查看 brew search python3 结果如下所示: ==> Formulae boost-python3 python3 ...

  6. memcachq队列安装

    memcacheq是集中的队列小软件,使用起来简单,便捷,高效. 下载 http://git.oschina.net/sgfoot/linux-tools/raw/master/memcacheq-0 ...

  7. Kafka 安装、原理、使用

    日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) 大数据组件使用 总文章 kafka 生产/消费API.offs ...

  8. linux环境下nacos的安装+启动,阿里云服务器安装nacos

    nacos安装+启动(linux环境): 基础:安装java环境 官网下载压缩包:如 nacos-server-1.2.1.tar.gz 放在自定义目录下 # 解压 tar -xvf nacos-se ...

  9. Alibaba Cloud Linux 2.1903 LTS 64位服务器yum源下载404,Alibaba Cloud Linux 2实例中使用docker-ce、epel等YUM源安装软件失败

    [Alibaba Cloud Linux 2.1903 LTS 64位]服务器yum源下载404 failure: repodata/repomd.xml from docker-ce-stable: ...

最新文章

  1. pip安装更新、第三方库对应的python解释器版本、pip安装第三方库,压缩包离线安装,pycharm快捷安装及pycharm中terminal的使用,timeout超时报错
  2. 深入redis内部--事件处理机制
  3. Microsoft Sync Framework 系列(三):微软同步框架出现背景及要解决的问题
  4. 同步和异步, 阻塞和非阻塞, Reactor和Proactor
  5. POJ - 3470 Walls
  6. leetcode90. 子集 II
  7. java 记事本全选_java 编写的记事本程序怎么实现复制 黏贴 剪切 全选的功能 ?...
  8. python经济统计学论文_统计学论文
  9. arm920t内核技术手册
  10. R语言︱机器学习模型评估方案(以随机森林算法为例)
  11. 2020计算机专硕考数二的学校,2020考研备考:考研数一、数二、数三哪个最难?...
  12. 如何查看电脑是否已经虚拟化
  13. 英语听说计算机查分,2019北京中考英语听说考怎么查分?附一键查询入口
  14. idea @Autowired 飘红
  15. Android TTS语音播报实践
  16. 你离年薪50w的架构师还差多远
  17. 数据分析的一些方法(一)
  18. C语言自学保姆教程——第一节--编译准备与第一个C程序
  19. mysql导入bak文件
  20. 华为服务器怎么连接显示器,服务器怎么链接显示器

热门文章

  1. hdu 4027 Can you answer these queries?
  2. mysql 参数 innodb_flush_log_at_trx_commit
  3. 临时表和游标的使用小总结
  4. Android学习--10-数据存储
  5. Linux下 RabbitMQ的安装与配置
  6. Lua 中写 C 扩展库时用到的一些技巧
  7. LinQ—Lambda表达式
  8. TCP(传输控制协议)简介
  9. Citrix Xendesktop5中创建虚拟机失败的2个案例分析
  10. [原]C++头文件的包含顺序研究