memcache安装
Posted mingyuewu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了memcache安装相关的知识,希望对你有一定的参考价值。
memcached安装
文章目录
时间 | 2021-08-09 |
---|---|
环境 | centos7.6 memcache1.5.22 libevent-2.1.12-stable.tar.gz |
一、memcached简介
memcache是一个内存缓存系统,将对象缓存在内存中,从而降低WEB应用对数据库的压力。和redis类似,但redis支持更多的数据类型和数据持久化。memcache支持最大的内存存储对象为1M,超过1M的数据可以使用客户端压缩或拆分报文到多个Key中,比较大的数据在读取是需要消耗的时间比较长。
php针对上述软件有两个PECL扩展,PHP memcache 扩展,PHP memcached 扩展
memcache | 基于PHP实现,支持面向对象和面向过程两种接口,老客户端,功能少 |
---|---|
memcached | 基于libmemcached开发,只支持面向对象接口,功能更完善 |
二、memcache软件安装路径及端口规划
端口 | 11211 |
---|---|
家目录 | /usr/local/memcached |
可执行文件路径 | /usr/local/memcached/bin/memcached |
include文件,不知该干嘛用的 | /usr/local/memcached/include |
帮助文档 | /usr/local/memcached/share |
pid文件 | /usr/local/memcached/logs/memcached.pid |
日志文件 | /usr/local/memcached/logs/memcached.log |
pid文件和日志文件需要在启动程序时手动指定位置 |
三、安装过程
1 下载安装包
官方安装包链接:
http://memcached.org/downloads
2 创建memcache用户及安装所需库libevent
yum install openssl openssl-devel (报错提示安装的时候安装)
# 添加用户和用户组
groupadd -r memcached
useradd -s /sbin/nologin -g memcached memcached
# 更改目录所有者
chown -R memcached:memcached /usr/local/memcached
# 安装libevent库
yum install libevent libevent-devel (或者自己上传编译安装)
tar -zxvf libevent
cd libevent
./configure && make && make install # 不用指定安装目录,默认安装在/usr/local/lib下
#创建软链接
ln -s /usr/local/lib/libevent-2.1.so.7.0.1 /usr/lib64/libevent-2.1.so.7.0.1
#检查libevent是否安装成功
ls -al /usr/local/lib | grep libevent
libevent库,一个基于事件通知机制的库,支持epoll,select等事件机制
3 解压编译
cd /usr/local/src
tar -zxvf memcached
cd memcache
./configure --prefix=/usr/local/memcached
make && make install
4 启动运行
cd /usr/local/memcached/bin
./memcached -d -l 127.0.0.1 -p 11211 -u memcached -m 512 -c 10 -P /usr/local/memcached/memcached.pid -vv >> /usr/local/memcached/logs/memcached.log.`date +%Y%m%d` 2>&1
# -d 以守护进程方式运行
# -l 监听的服务器IP地址
# -p 指端口
# -u 指用户
# -m 使用多少MB的内存作为缓存区,默认64MB
# -c 最大允许num个并发连接,默认1024
# -P 将进程号pid保存在filename汇总
# -v 在事件循环过程中打印详细的错误和告警信息,即日志
# 给memcached创建日志
-vv >> /usr/local/memcached/logs/memcached.log.`date +%Y%m%d` 2>&1
# -vv参数介绍
-v代表打印普通的错误或者警告类型的日志信息
-vv比-v打印的日志更详细,包含了客户端命令和server端的响应信息
-vvv则是最详尽的,甚至包含了内部的状态信息打印
##############################这里将启动命令写入startMemcached.sh chmod +x startMemcached.sh
[root@oracle12c bin]# pwd
/usr/local/memcached/bin
[root@oracle12c bin]# ll
total 708
-rwxr-xr-x 1 memcached memcached 720672 Aug 9 15:10 memcached
-rw-r--r-- 1 memcached memcached 167 Aug 9 15:15 startMemcached.sh
[root@oracle12c bin]# cat startMemcached.sh
./memcached -d -u memcached -l 127.0.0.1 -p 11211 -m 512 -P /usr/local/memcached/run/memcached.pid -vv >> /usr/local/memcached/logs/memcached.log.`date +%Y%m%d` 2>&1
5 修改配置文件
# /etc/sysconfig/memcached
PORT=11211
USER="memcached"
MAXCONN="1024" #最大连接数
CACHESIZE="512" #服务支持的最大内存,以M为单位
OPTION=""
四、加入开机自启动
vim /usr/lib/systemd/system/memcached.service
[Unit]
Description=Memcached
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/memcached/bin/startMemcached.sh
Restart=on-failure
User=memcached
Group=memcached
[Install]
WantedBy=multi-user.target
####
systemctl daemon-reload
# but制作失败@^@
五、检查启动状态
#查进程
[root@node01 bin]# ps -ef | grep memcached
memcach+ 30976 1 0 10:25 ? 00:00:00 ./memcached -d -m 64 -u memcached -p 11211 -P /usr/local/memcached/memcached.pid
root 31057 12310 0 10:26 pts/0 00:00:00 grep --color=auto memcached
# 查端口号
[root@node01 bin]# lsof -i tcp:11211
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
memcached 30976 memcached 26u IPv4 33929705 0t0 TCP *:memcache (LISTEN)
memcached 30976 memcached 27u IPv6 33929706 0t0 TCP *:memcache (LISTEN)
六、连接到memcache
telnet 127.0.0.1 11211
# 添加一条数据
add key flag expire length
add stu_name 0 0 2
my
# 查询数据
get stu_name
# 修改数据 repalce 或set
replace stu_name 0 0 2
# 删除数据
delete stu_name
报错解决:
Socket/File : too many open files
yum install -y build-essential libexpat1-dev libgeoip-dev libpng-dev libpcre3-dev libssl-dev libxml2-dev rcs zlib1g-dev libmcrypt-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libwebp-dev pkg-config
卸载重装,莫名其妙又好了,注意必要的依赖包要装 openssl ,openssl-devel ,libevent的软链接到/usr/lib64
七、参考文档
memcache官方安装文档
https://github.com/memcached/memcached/wiki/Install
以上是关于memcache安装的主要内容,如果未能解决你的问题,请参考以下文章