持久化消息队列memcacheq的安装配置

来源:互联网 发布:linux snmp trap 接收 编辑:程序博客网 时间:2024/06/07 04:42
持久化消息队列memcacheq的安装配置一.memcacheq介绍特性:1.简单易用2.处理速度快3.多条队列4.并发性能好5.与memcache的协议兼容6.在zend framework中使用方便memcacheq依赖于Berkeley DB和libevent。Berkeley DB用于持久化存储队列的数据,避免在memcacheq崩溃或这服务器当掉时候,不至于数据丢失。二.安装Berkeley DBdownload url: http://www.oracle.com/technetwork/database/berkeleydb/downloads/index.html# tar zxvf db-5.2.28.tar.gz -C ../software/# cd ../software/db-5.2.28/# cd build_unix/# ../dist/configure --prefix=/usr/local/db-5.2.28# make# make install三.安装libevent# wget http://monkey.org/~provos/libevent-2.0.12-stable.tar.gz# tar zxvf libevent-2.0.12-stable.tar.gz -C ../software/# cd ../software/libevent-2.0.12-stable/# ./configure --prefix=/usr/local/libevent-2.0.12# make# make install四.安装memcacheq# wget http://memcacheq.googlecode.com/files/memcacheq-0.2.0.tar.gz# tar zxvf memcacheq-0.2.0.tar.gz -C ../software/# cd ../software/memcacheq-0.2.0/# ./configure --prefix=/usr/local/memcacheq-0.2.0 --with-libevent=/usr/local/libevent-2.0.12 --with-bdb=/usr/local/db-5.2.28 --enable-threads# make# make install五.启动memcacheq# chown nobody:root /memdata# ./memcacheq -d -r -u nobody -vv -t 4 -m 64 -H /memdata -N -R > /var/log/memq.log 2>&1-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: error while loading shared libraries: libdb-5.2.so: cannot open shared object file: No such file or directory./memcacheq: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory解决办法:# cd /etc/ld.so.conf.d/# vim berkeley-db.conf/usr/local/db-5.2.28/lib# vim libevent.conf/usr/local/libevent-2.0.12/lib# ldconfig七.测试set <queue name> <flags> 0 <message_len>rn<put your message body here>rnSTOREDrnget <queue name>rnVALUE <queue name> <flags> <message_len>rn<your message body will come here>rnENDrn# telnet 127.0.0.1 22201Trying 127.0.0.1...Connected to 127.0.0.1.Escape character is '^]'.set queue1 0 0 2xuSTOREDset queue1 0 0 4hongSTOREDset queue1 0 0 2huSTOREDstats queueSTAT queue1 3/0 //队列queue1中共有3条消息已取出0条ENDget queue1VALUE queue1 0 2xuENDstats queueSTAT queue1 3/1 //队列queue1中共有3条消息已取出1条ENDdelete queue1 //删除队列queue1DELETEDstats queueEND

0 0
原创粉丝点击