分布式持久化消息队列memcacheq的安装部署

本文详细介绍Memcacheq的安装步骤,包括前置依赖Libevent和BerkeleyDB的安装配置过程,以及Memcacheq本身的安装与配置。此外还提供了通过PHP和Telnet进行Memcacheq使用的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、安装前准备工作
要安装memcacheq,需要先安装 libevent BerkeleyDB
a、安装libevent
wget --no-check-certificate https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
tar zxvf libevent-2.0.21-stable.tar.gz
cd libevent-2.0.21-stable
./configure
make
make install
b、安装 BerkeleyDB
wget http://download.oracle.com/otn/berkeley-db/db-5.3.21.tar.gz
tar zxvf db-5.3.21.tar.gz
cd db-5.3.21
cd build_unix
../dist/configure
make
make install

在/etc/ld.so.conf里加入下面两行
/usr/local/lib
/usr/local/BerkeleyDB.5.3/lib
运行ldconfig

2、安装memcacheq
wget http://memcacheq.googlecode.com/files/memcacheq-0.2.0.tar.gz
tar zxvf memcacheq-0.2.0.tar.gz
cd memcacheq-0.2.0
./configure --enable-threads --with-libevent=/usr/local --with-bdb=/usr/local/BerkeleyDB.5.3
make
make install

3、配置memcacheq
install -d -o nobody -g nobody /data/memcacheq
memcacheq -d -r -u nobody -H /data/memcacheq -N -R -v -L 1024 -B 1024 &> /var/log/mq_error.log
查看监听端口
[root@vm3 ~]# netstat -ntupl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 :::22 :::* LISTEN 3162/sshd
tcp 0 0 :::22201 :::* LISTEN 25375/memcacheq
udp 0 0 0.0.0.0:22201 0.0.0.0:* 25375/memcacheq

4、使用
a、 使用 php语言的memcache扩展作为 客户端测试
本例使用的是php源码编译安装
安装php扩展memcache
wget http://pecl.php.net/get/memcache-2.2.7.tgz
tar zxvf memcache-2.2.7.tgz
cd memcache-2.2.7
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install
在/usr/local/php/lib/php.ini里编辑或添加如下两行
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/"
extension=memcache.so
重启php-fpm
service php-fpm restart
验证memcache扩展是否加载
ok,加载成功
编写php测试文件:
<?php
$m = new memcache();
$m->connect('192.168.18.240',22201);
$m->set('mailq','zhangsan');
$m->set('mailq','lisi');
$m->set('mailq','wangwu');
print '------push bellow into mailq queue------<br>';
print 'zhangsan<br>';
print 'lisi<br>';
print 'wangwu<br>';
print '------get mailq from mailq queue------<br>';
print 'first:'.$m->get('mailq').'<br>';
print 'second:'.$m->get('mailq').'<br>';
print 'third:'.$m->get('mailq').'<br>';
print 'fourth:'.$m->get('mailq');
$m->close();
下面是上面php代码运行结果:
------push bellow into mailq queue------
zhangsan
lisi
wangwu
------get mailq from mailq queue------
first:zhangsan
second:lisi
third:wangwu
fourth:
可以发现,我们先存入的将先取出,符合先进先出原则 FIFO
b、使用telnet作为客户端测试
telnet 192.168.18.240 22201
Trying 192.168.18.240...
Connected to localhost (192.168.18.240).
Escape character is '^]'.
只有2个命令用来操作队列:
set
get
命令语法:
添加一个消息到队列末尾
set <queue name> <flags> 0 <message_len>\r\n
<put your message body here>\r\n
STORED\r\n
注意:如果你的队列不存在,MQ将自动创建一个新队列。原来的'expire time'字段被服务器忽略。

从队列头部取一个消息
get <queue name>\r\n
VALUE <queue name> <flags> <message_len>\r\n
<your message body will come here>\r\n
END\r\n

set例子:
set mailq 0 0 8
zhangsan
STORED
set mailq 0 0 4
lisi
STORED
set mailq 0 0 6
wangwu
STORED
get例子:
get mailq
VALUE mailq 0 8
zhangsan
END
使用'stats queue'查看你的当前队列:
stats queue
STAT mailq 3/1
END
删除一个队列:
delete mailq
DELETED
使用db_stat命令查看一个队列有多少记录:
/usr/local/BerkeleyDB.5.3/bin/db_stat -d mailq
Fri Feb    8 01:26:29 2013                Local time
42253     Queue magic number
4             Queue version number
1024        Fixed-length record size
0x20        Fixed-length record pad
4096        Underlying database page size
16384     Underlying database extent size
2             Number of records in the database
2             Number of data items in the database
1             Number of database pages
1024        Number of bytes free in database pages (75% ff)
2             First undeleted record
4             Next available record number
部署完毕。

标题基于SpringBoot+Vue的社区便民服务平台研究AI更换标题第1章引言介绍社区便民服务平台的研究背景、意义,以及基于SpringBoot+Vue技术的研究现状和创新点。1.1研究背景与意义分析社区便民服务的重要性,以及SpringBoot+Vue技术在平台建设中的优势。1.2国内外研究现状概述国内外在社区便民服务平台方面的发展现状。1.3研究方法与创新点阐述本文采用的研究方法和在SpringBoot+Vue技术应用上的创新之处。第2章相关理论介绍SpringBoot和Vue的相关理论基础,以及它们在社区便民服务平台中的应用。2.1SpringBoot技术概述解释SpringBoot的基本概念、特点及其在便民服务平台中的应用价值。2.2Vue技术概述阐述Vue的核心思想、技术特性及其在前端界面开发中的优势。2.3SpringBoot与Vue的整合应用探讨SpringBoot与Vue如何有效整合,以提升社区便民服务平台的性能。第3章平台需求分析与设计分析社区便民服务平台的需求,并基于SpringBoot+Vue技术进行平台设计。3.1需求分析明确平台需满足的功能需求和性能需求。3.2架构设计设计平台的整体架构,包括前后端分离、模块化设计等思想。3.3数据库设计根据平台需求设计合理的数据库结构,包括数据表、字段等。第4章平台实现与关键技术详细阐述基于SpringBoot+Vue的社区便民服务平台的实现过程及关键技术。4.1后端服务实现使用SpringBoot实现后端服务,包括用户管理、服务管理等核心功能。4.2前端界面实现采用Vue技术实现前端界面,提供友好的用户交互体验。4.3前后端交互技术探讨前后端数据交互的方式,如RESTful API、WebSocket等。第5章平台测试与优化对实现的社区便民服务平台进行全面测试,并针对问题进行优化。5.1测试环境与工具介绍测试
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值