• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    分布式队列服务MemcacheQ在Linux系统下的编译安装

      MemcacheQ作为简单的分布式队列服务,因为对MemcacheQ不了解,不少人在MemcacheQ的安装上遇到了不少麻烦,小编就为大家详细介绍下MemcacheQ在Linux系统下的编译安装,以便大家有更详细的了解。

      队列(Queue)是一种常用的数据结构。在队列这种数据结构中,最先插入的元素将会最先被取出;反之最后插入的元素将会最后被取出,因此队列又称为“先进先出”(FIFO:First In First Out)的线性表。

      加入元素的一端叫“队尾”,取出元素的一端叫“队头”。利用消息队列可以很好地异步处理数据的传送和存储,当遇到频繁且密集地向后端数据库中插入数据时,就可采用消息队列来异步处理这些数据写入。

      MemcacheQ是一款基于Memcache协议的开源消息队列服务软件,由于其遵循了Memcache协议,因此开发成本很低,不需要学习额外的知识便可轻松掌握。

      在最近的一个项目中也应用了MemcacheQ,下面我将分享一下MemcacheQ在Linux中的编译和安装过程。

      首先,MemcacheQ依赖于BerkeleyDB和Libevent,如果服务器中曾经安装过Memcached,那么Libevent应该已经存在了,否则就需要先下载安装Libevent。

      下载链接如下:

      Libevent:https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz

      Berkeley DB:http://download.oracle.com/otn/berkeley-db/db-6.0.30.tar.gz

      MemcacheQ:https://github.com/stvchu/memcacheq

      安装Libevent

      tar zvxf libevent-2.0.21-stable.tar.gz

      cd libevent-2.0.21-stable

      。/configure --prefix=/usr/local/libevent

      make make install

      echo “/usr/local/libevent/lib” 》》 /etc/ld.so.conf

      ldconfig

      安装BerkeleyDB

      BerkeleyDB简介:BerkeleyDB是一个开源的文件数据库,介于关系数据库与内存数据库之间,使用方式与内存数据库类似,它提供的是一系列直接访问数据库的函数,而不是像关系数据库那样需要网络通讯、SQL解析等步骤。

      MemcacheQ依赖BerkleyDB用于队列数据的持久化存储,以免在MemcacheQ意外崩溃或中断时,队列数据不会丢失。

      tar zxvf db-6.0.30.tar.gz

      cd db-6.0.30/build_unix

      。。/dist/configure --prefix=/usr/local/berkeleydb

      make make install

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

      echo “/usr/local/berkeleydb/lib/” 》》 /etc/ld.so.conf

      ldconfig

      安装MemcacheQ

      tar zxvf memcacheq-0.2.0.tar.gz

      cd memcacheq-0.2.0

      。/configure --prefix=/usr/local/memcacheq --with-bdb=/usr/local/berkeleydb --with-libevent=/usr/local/libevent --enable-threads

      make make install 

      启动MemcacheQ

      Shell

      /usr/local/memcacheq/bin/memcacheq -d -uroot -r -l 127.0.0.1 -p11210 -H /usr/local/mcq -N -R -v -L 1024 -B 1024 》 /usr/local/mcq/logs/mcq_error.log 2》1

      附:MemcacheQ参数

      -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)

      用PHP测试一下

      PHP

      《?php

      $mcq = new Memcache;

      $mcq-》connect(‘127.0.0.1’, 11210) or die (‘Connect Error!’);

      for ($i=1; $i《=5; $i++) {

      memcache_set($mcq, ‘k’, $i, 0, 0);

      }

      for ($i=1; $i《=6; $i++) {

      $queue = memcache_get($mcq, ‘k’);

      if ($queue === false) {

      echo “null\n”;

      } else {

      echo $queue.“\n”;

      }

      }

      memcache_close($mcq);

      ?》

      上面就是Linux编译安装MemcacheQ的方法介绍了,在安装MemcacheQ前,需要先安装Libevent和BerkeleyDB。

    上一篇:Linux如何禁止特定ip地址访问来保证系统的安全
    下一篇:Linux运维工程师入门必备的10个技术点
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    分布式队列服务MemcacheQ在Linux系统下的编译安装 分布式,队列,服务,MemcacheQ,