• MemcacheQ 的安装与使用


    1、安装libevent

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

    $ wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz --no-check-certificate
    $ tar -zxvf libevent-2.0.21-stable.tar.gz
    $ cd libevent-2.0.21-stable
    $ ./configure --prefix=/usr/local/libevent
    $ sudo make && make install
    

    2、安装 BerkeleyDB

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

    安装:

    $ 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 --prefix=/usr/local/berkeleyDB
    $ sudo make && make install
    

    安装完成之后:

    $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/libevent/lib:/usr/local/berkeleyDB/lib
    

    或者:

    $ vim /etc/ld.so.conf
    

    添加:

    /usr/local/libevent/lib
    /usr/local/berkeleyDB/lib
    

    并执行:

    $ /sbin/ldconfig
    

    3、安装 MemcacheQ

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

    $ wget https://memcacheq.googlecode.com/files/memcacheq-0.2.0.tar.gz
    $ tar -zxvf memcacheq-0.2.0.tar.gz
    $ cd memcacheq-0.2.0
    $ ./configure --prefix=/usr/local/memcacheq --enable-threads --with-libevent=/usr/local/libevent --with-bdb=/usr/local/berkeleyDB
    $ sudo make && make install
    

    测试是否安装成功:

    /usr/local/memcacheq/bin/memcacheq -h
    

    4、启动服务

    建立相关目录:

    mkdir -p 755 /var/memcacheq/logs/
    mkdir -p 755 /var/memcacheq/data/
    

    启动服务:

    /usr/local/memcacheq/bin/memcacheq -d -r -uroot -p11212 -H /var/memcacheq/data -N -R -v -L 1024 -B 1024 > /var/memcacheq/logs/mq_error.log 2>&1
    

    参数说明:

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

    添加到开机启动:

    vim /etc/rc.local
    

    添加:

    /usr/local/memcacheq/bin/memcacheq -d -r -uroot -p11212 -H /var/memcacheq/data -N -R -v -L 1024 -B 1024 > /var/memcacheq/logs/mq_error.log 2>&1
    

    5、使用 PHP 连接

    <?php
        $memcache_obj = new Memcache;
        $memcache_obj->connect('127.0.0.1', 11212);
        $memcache_obj->set('pushtask','38a7d8a504d69d1e2ac843b5804c04',0,0);
        $memcache_obj->close();
    ?>
    
    <?php
        $memcache_obj = new Memcache;
        $memcache_obj->connect('127.0.0.1', 11212);
        $task = $memcache_obj->get('pushtask');
        //do your task here
        ...
        $memcache_obj->close();
    ?>
    

    6、使用命令行连接

    连接:

    telnet 127.0.0.1 11212
    

    添加:

    格式:
    
    set <queue name> <flags> 0 <message_len>
    <put your message body here>
    STORED
    
    示例:
    
    set test_queue 0 0 6
    abcdef
    STORED
    

    获取:

    格式:
    
    get <queue name>
    VALUE <queue name> <flags> <message_len>
    <your message body will come here>
    END
    
    示例:
    
    get test_queue
    VALUE test_queue 0 13
    first_message
    END
    

    查看队列:

    stats queue
    STAT test_queue 20/10    #表示队列test_queue里面有20条信息,读取了10条
    END
    

    删除整个队列:

    格式:
    delete <queue name>
    
    示例:
    delete test_queue
    DELETED
    
  • 相关阅读:
    mysql错误:java.sql.SQLException: The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone.
    MyBatis中id回填的两种方式
    springboot项目打war包流程
    Caused by: java.lang.IllegalStateException: No Feign Client for loadBalancing defined. Did you forget to include springcloudstarterloadbalancer?
    idea thymeleaf页面变量报错解决
    项目编码流程
    逻辑删除
    mysql 连接url中需要添加useUnicode=true&characterEncoding=UTF8
    【转】[wp7应用内截图]Taking a screenshot from within a Silverlight #WP7 application
    Wp7客户端与Webservice的数据传输,json的序列化与反序列化
  • 原文地址:https://www.cnblogs.com/bluealine/p/5575829.html
Copyright © 2020-2023  润新知