memcacheq 的安装和使用

来源:互联网 发布:做美工的工资一般多少 编辑:程序博客网 时间:2024/05/17 23:12

MemcacheQ 的安装与使用

1、安装libevent

官网:http://www.libevent.org/

<code>$ wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz <span class="hljs-comment">--no-check-certificate$ tar -zxvf libevent-2.0.21-stable.tar.gz$ cd libevent-2.0.21-stable$ ./configure <span class="hljs-comment">--prefix=/usr/local/libevent$ sudo make && make <span class="hljs-operator"><span class="hljs-keyword">install</span></span></span></span></code>

2、安装 BerkeleyDB

官网:http://www.oracle.com/technetwork/products/berkeleydb/downloads/index.html(下载需要登录)

安装:

<code>$ wget http://download.oracle.com/berkeley-db/db-6.0.30.tar.gz$ tar -zxvf db-6.0.30.tar.gz (根据自身的情况解压到目录)$ cd db-6.0.30/build_unix$ ../dist/configure <span class="hljs-comment">--prefix=/usr/local/berkeleyDB$ sudo make && make <span class="hljs-operator"><span class="hljs-keyword">install</span></span></span></code>

安装完成之后:

<code><span class="hljs-variable">$ export <span class="hljs-constant">LD_LIBRARY_PATH=<span class="hljs-variable">$LD_LIBRARY_PATH<span class="hljs-symbol">:/usr/local/libevent/lib<span class="hljs-symbol">:/usr/local/berkeleyDB/lib</span></span></span></span></span></code>

或者:

<code><span class="hljs-variable">$ vim /etc/ld.so.conf</span></code>

添加:

<code>/usr/<span class="hljs-built_in">local/libevent/lib/usr/<span class="hljs-built_in">local/berkeleyDB/lib</span></span></code>

并执行:

<code><span class="hljs-variable">$ /sbin/ldconfig</span></code>

3、安装 MemcacheQ

官网:http://memcachedb.org/memcacheq/

<code>$ wget https:<span class="hljs-comment">//memcacheq.googlecode.com/files/memcacheq-0.2.0.tar.gz$ tar -zxvf memcacheq-<span class="hljs-number">0.2<span class="hljs-number">.0.tar.gz$ cd memcacheq-<span class="hljs-number">0.2<span class="hljs-number">.0$ ./configure --prefix=<span class="hljs-regexp">/usr/local/memcacheq --enable-threads --<span class="hljs-keyword">with-libevent=<span class="hljs-regexp">/usr/local/libevent --<span class="hljs-keyword">with-bdb=<span class="hljs-regexp">/usr/local/berkeleyDB$ sudo make && make install</span></span></span></span></span></span></span></span></span></span></code>

测试是否安装成功:

<code>/usr/<span class="hljs-built_in">local/memcacheq/bin/memcacheq -h</span></code>

4、启动服务

建立相关目录:

<code>mkdir -p <span class="hljs-number">755 /<span class="hljs-reserved">var<span class="hljs-regexp">/memcacheq/logs/mkdir -p <span class="hljs-number">755 /<span class="hljs-reserved">var<span class="hljs-regexp">/memcacheq/data/</span></span></span></span></span></span></code>

启动服务:

<code>/usr/local/memcacheq/bin/memcacheq -d -r -uroot -p11212 -H /<span class="hljs-reserved">var/memcacheq/data -N -R -v -L <span class="hljs-number">1024 -B <span class="hljs-number">1024 > /<span class="hljs-reserved">var/memcacheq/logs/mq_error.log <span class="hljs-number">2>&<span class="hljs-number">1</span></span></span></span></span></span></code>

参数说明:

-d : 以后台服务方式运行
-l : 设置监听地址及端口(默认是22201)
-A : 数据页大小
-H : 数据保存目录
-B : 队列中每条数据的最大长度(字节)
-N : 使用内存缓冲方式保存数据至磁盘,从而获得极高性能。若无此参数,性能会很差
-R : 自动清理过期的日志
-u : 设置memcacheq进程账号
-L :日志缓存大小(默认是32K,1024表示1024K)

添加到开机启动:

<code><span class="hljs-title">vim /etc/rc.local</span></code>

添加:

<code>/usr/local/memcacheq/bin/memcacheq -d -r -uroot -p11212 -H /<span class="hljs-reserved">var/memcacheq/data -N -R -v -L <span class="hljs-number">1024 -B <span class="hljs-number">1024 > /<span class="hljs-reserved">var/memcacheq/logs/mq_error.log <span class="hljs-number">2>&<span class="hljs-number">1</span></span></span></span></span></span></code>

5、使用 PHP 连接

<code><span class="php"><span class="hljs-preprocessor"><?php    <span class="hljs-variable">$memcache_obj = <span class="hljs-keyword">new Memcache;    <span class="hljs-variable">$memcache_obj->connect(<span class="hljs-string">'127.0.0.1', <span class="hljs-number">11212);    <span class="hljs-variable">$memcache_obj->set(<span class="hljs-string">'pushtask',<span class="hljs-string">'38a7d8a504d69d1e2ac843b5804c04',<span class="hljs-number">0,<span class="hljs-number">0);    <span class="hljs-variable">$memcache_obj->close();<span class="hljs-preprocessor">?><span class="php"><span class="hljs-preprocessor"><?php    <span class="hljs-variable">$memcache_obj = <span class="hljs-keyword">new Memcache;    <span class="hljs-variable">$memcache_obj->connect(<span class="hljs-string">'127.0.0.1', <span class="hljs-number">11212);    <span class="hljs-variable">$task = <span class="hljs-variable">$memcache_obj->get(<span class="hljs-string">'pushtask');    <span class="hljs-comment">//do your task here    ...    <span class="hljs-variable">$memcache_obj->close();<span class="hljs-preprocessor">?></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code>

6、使用命令行连接

连接:

<code><span class="hljs-title">telnet <span class="hljs-number">127.0.0.1 <span class="hljs-number">11212</span></span></span></code>

添加:

<code>格式:set <span class="hljs-tag"><<span class="hljs-title">queue <span class="hljs-attribute">name> <span class="hljs-tag"><<span class="hljs-title">flags> 0 <span class="hljs-tag"><<span class="hljs-title">message_len><span class="hljs-tag"><<span class="hljs-title">put <span class="hljs-attribute">your <span class="hljs-attribute">message <span class="hljs-attribute">body <span class="hljs-attribute">here>STORED示例:set test_queue 0 0 6abcdefSTORED</span></span></span></span></span></span></span></span></span></span></span></span></span></code>

获取:

<code>格式:get <span class="hljs-tag"><<span class="hljs-title">queue <span class="hljs-attribute">name>VALUE <span class="hljs-tag"><<span class="hljs-title">queue <span class="hljs-attribute">name> <span class="hljs-tag"><<span class="hljs-title">flags> <span class="hljs-tag"><<span class="hljs-title">message_len><span class="hljs-tag"><<span class="hljs-title">your <span class="hljs-attribute">message <span class="hljs-attribute">body <span class="hljs-attribute">will <span class="hljs-attribute">come <span class="hljs-attribute">here>END示例:get test_queueVALUE test_queue 0 13first_messageEND</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code>

查看队列:

<code><span class="hljs-title">stats queueSTAT test_queue <span class="hljs-number">20/<span class="hljs-number">10    <span class="hljs-comment">#表示队列test_queue里面有20条信息,读取了10条END</span></span></span></span></code>

删除整个队列:

<code>格式:<span class="hljs-keyword">delete <<span class="hljs-built_in">queue name>示例:<span class="hljs-keyword">delete test_queueDELETED</span></span></span></code>
0 0
原创粉丝点击