4

memcache&redis构建缓存服务器(3) Memcached编译安装

 2 years ago
source link: https://blog.51cto.com/u_15630500/5389440
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

下载编译安装包

 ​https://github.com/memcached/memcached/wiki/ReleaseNotes​

yum -y install gcc gcc-c++ make cmake autoconf libtool libevent libevent-devel

tar -xvf memcached-1.6.15.tar.gz
cd memcached-1.6.15
./configure --prefix=/usr/local/memcached
make
make install

配置环境变量

编辑/etc/profile文件,/usr/local/memcached/bin添加到环境变量中

export PATH="$PATH:/usr/local/memcahed/bin"

添加后执行source /etc/profile使修改立即生效

systemctl管理memcached

创建一个memcached用户,专门用来管理memcached服务
useradd memcached -s /sbin/nologin -M
memcached安装目录下创建一个配置文件,添加我们自己的个人配置

创建配置目录
mkdir /usr/local/memcached/conf
touch /usr/local/memcached/conf/memcached

修改文件所属用户和组
chown -R memcached:memcached /usr/local/memcached/conf/memcached

在/usr/local/memcached/conf/memcached文件中添加如下内容
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS=""
/usr/lib/systemd/system/目录下创建一个memcached.service文件
touch /usr/lib/systemd/system/memcached.service
memcached.service添加如下内容(就是把yum方式的EnvironmentFile和启动路径改了)

[Unit]
Description=Memcached
Before=httpd.service
After=network.target

[Service]
Type=simple
EnvironmentFile=-/usr/local/memcached/conf/memcached
ExecStart=/usr/local/memcached/bin/memcached -u $USER -p $PORT -m $CACHESIZE -c $MAXCONN $OPTIONS

[Install]
WantedBy=multi-user.target
扫描新的或有变动的单元
systemctl daemon-reload
开机自启
systemctl enable memcached.service # 设置开机自启
systemctl disable memcached.service # 取消开机自启服务
lsof -i:11211 查看Memcached服务
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
memcached 10037 memcached 22u IPv4 598751 0t0 TCP *:memcache (LISTEN)
memcached 10037 memcached 23u IPv6 598752 0t0 TCP *:memcache (LISTEN)

使用memcached的原始命令

yum install telnet
telnet 127.0.0.1 11211
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.

set name 0 900 5
xulei
STORED

get name
VALUE name 0 5
xulei
END

set name 0 900 5   //设置名称为name的key

name key的名字 自己定义

  • 0       key的id号,需要和其他的key不一样
  • 900    缓存过期时间,单位为秒,0为永远
  • 5      字符串最大长度

xulei      //给name的值

  • 看见STORED说明存储成功

get name   //查询key为name的值

WEB集群+memcached

需要安装memcache客户端(php-memcached扩展包)

PHP Memcache 扩展包下载地址:http://pecl.php.net/package/memcache,你可以下载最新稳定包(stable)。
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 //注意:笔记中是编译安装php。YUM 安装的路径不同
./configure --with-php-config=/usr/local/php/bin/php-config //注意:是编译安装php。YUM 安装的路径不同
make && make install

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK