Linux安装Memcached

一、概述

1、Memcached

Linux安装Memcached

memcached官网:http://memcached.org

 

安装、配置、使用教程,均可参见W3Chttps://www.w3cschool.cn/memcached/

 

2、libevent

Linux安装Memcached

libevent官网:http://libevent.prg/ 此网站可能需要*。

 

 

二、准备工作

1、下载安装包:memcached-1.5.12.tar.gz

地址:http://memcached.org/downloads

 

2、下载memcached依赖库libevent

进入官网,http://libevent.prg/ 此网站需要*。下载最新稳定版。libevent-2.1.8-stable.tar.gz

Linux安装Memcached

 

3、上传至Linux

/root/文档/05.memcached/

/root/文档/06.libevent/

 

三、安装libevent库

1、安装GCC依赖

yum -y install gcc gcc-c++ autoconf pcre pcre-devel make automake

若出错请多试几次

Linux安装Memcached

查看已安装版本:

gcc --version

 

2、解压源码

cd /root/exe/06.libevent

tar -zxvf libevent-2.1.8-stable.tar.gz

 

3、配置安装位置

cd /root/exe/06.libevent/libevent-2.1.8-stable

mkdir /usr/local/src/06.libevent

./configure --prefix=/usr/local/src/06.libevent

Linux安装Memcached

出现以下提示,表示配置完成

Linux安装Memcached

 

4、编译

make

Linux安装Memcached

Linux安装Memcached

编译时32位Linux会报出下边错误,这个不用管,编译程序会处理:

Linux安装Memcached

5、安装

make install

Linux安装Memcached

Linux安装Memcached

6、检查

ls -al /usr/local/src/06.libevent/lib | grep libevent

 

四、安装Memcached

1、解压源码

cd /root/exe/05.memcached

tar -zxvf memcached-1.5.12.tar.gz

 

2、配置安装位置

cd /root/exe/05.memcached/memcached-1.5.12

./configure --prefix=/usr/local/src/05.memcached

Linux安装Memcached

命令执行遇到错误:没有安装libevent库

Linux安装Memcached

如果确实已安装过libevent,根据提示,使用--with-libevent=/dir/命令

./configure --prefix=/usr/local/src/05.memcached --with-libevent=/usr/local/src/06.libevent/

Linux安装Memcached

Linux安装Memcached

 

3、编译

make

Linux安装Memcached

Linux安装Memcached

 

4、安装

make install

Linux安装Memcached

Linux安装Memcached

 

 

五、操作memcached

1、命令帮助

/usr/local/src/05.memcached/bin/memcached -h

启动选项:

-d是启动一个守护进程;

-m是分配给Memcache使用的内存数量,单位是MB;

-u是运行Memcache的用户;

-l是监听的服务器IP地址,可以有多个地址;

-p是设置Memcache监听的端口,,最好是1024以上的端口;

-c是最大运行的并发连接数,默认是1024;

-P是设置保存Memcache的pid文件。

 

2、启动memcached

1、作为前台程序启动:

/usr/local/src/05.memcached/bin/memcached -p 11211 -m 512m -vv -u root

Linux安装Memcached

Linux安装Memcached

按Ctrl+C退出

 

2、作为后台服务程序启动

/usr/local/src/05.memcached/bin/memcached -p 11211 -m 512m -d -u root

Linux安装Memcached

后台状态下关闭程序:

ps -ef | grep memcached

Linux安装Memcached

 

3、查看memcached是否开启

netstat -ntpl | grep memcache

Linux安装Memcached

 

3、开放11211端口

1、查看机器开放的端口号

/etc/init.d/iptables status

2、开放3306端口号

/sbin/iptables -I INPUT -p tcp --dport 11211 -j ACCEPT

3、让配置文件生效

/etc/rc.d/init.d/iptables save

4、连接memcached

memcached以后台方式启动,打开一个新的窗口,输入以下命令连接memcached:

telnet 127.0.0.1 11211

若提示:-bash: telnet: command not found,则需要安装Telnet服务

yum list telnet*              列出telnet相关的安装包

yum install telnet-server          安装telnet服务

yum install telnet.*           安装telnet客户端

Linux安装Memcached

Linux安装Memcached

Linux安装Memcached

安装完成,再次连接:

Linux安装Memcached

5、windows连接Linux上的memcached

memcached以后台方式启动,windows打开CMD,输入以下命令连接memcached:

telnet 192.168.25.129 11211

Linux安装Memcached

报出上边错误,执行如下操作:

Linux安装Memcached

注:成功进入后,CMD会一直处于黑屏状态,等待输入命令(输入的命令是看不见的)

此时输入:

stats

Linux安装Memcached

之后输入的命令都是可见的。

 

 

六、memcached基础命令

1、设置:SET

1、语法:

         set key flags exptime bytes [noreply]

         value

2、说明:

无论如何都添加或更新的set 命令 (值不存在则添加 存在则更新)  set 设置后可以用get命令获取值 也可以使用delete命令删除该值

3、参数说明如下:

key:键值 key-value 结构中的 key,用于查找缓存值。

flags:可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息。

exptime:在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)

bytes:在缓存中存储的字节数

noreply(可选): 该参数告知服务器不需要返回数据

value:存储的值(始终位于第二行)(可直接理解为key-value结构中的value)

Linux安装Memcached

 

2、添加:ADD

1、语法:

         add key flags exptime bytes

         value

2、说明:

只有key不存在时才能添加

3、参数说明如下:

key:键值 key-value 结构中的 key,用于查找缓存值。

flags:可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息。

exptime:在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)

bytes:在缓存中存储的字节数

noreply(可选): 该参数告知服务器不需要返回数据

value:存储的值(始终位于第二行)(可直接理解为key-value结构中的value)

Linux安装Memcached

 

3、查找:get

1、语法:

         get key1 [key2 …]

2、说明:

获取一个或多个指定key中的 value,如果 key 不存在,则返回空。

3、参数说明如下:

key:键值 key-value 结构中的 key,用于查找缓存值。

Linux安装Memcached

 

4、修改:replace

1、语法:

         replace key flags exptime bytes [noreply]

         value

2、说明:

修改指定key的value值、flags、exptime、bytes,只有key存在时才能修改

3、参数说明如下:

key:键值 key-value 结构中的 key,用于查找缓存值。

flags:可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息。

exptime:在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)

bytes:在缓存中存储的字节数

noreply(可选): 该参数告知服务器不需要返回数据

value:存储的值(始终位于第二行)(可直接理解为key-value结构中的value)

Linux安装Memcached

 

5、删除:delete

1、语法:

         delete key1 [key2 …] [noreply]

2、说明:

删除一个或多个指定的key,只有key存在时才能删除

3、参数说明如下:

key:键值 key-value 结构中的 key,用于查找缓存值。

noreply(可选): 该参数告知服务器不需要返回数据

Linux安装Memcached

 

6、追加:append、prepend

1、语法:

         append/prepend key flags exptime bytes [noreply]

         value

2、说明:

append:在指定的key的value值面追加数据;

prepend:在指定的key的value值面追加数据。

3、参数说明如下:

key:键值 key-value 结构中的 key,用于查找缓存值。

flags:可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息。

exptime:在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)

bytes:追加的字节数

noreply(可选): 该参数告知服务器不需要返回数据

value:存储的值(始终位于第二行)(可直接理解为key-value结构中的value)

Linux安装Memcached

 

七、memcached系统命令

1、stats

1、语法:

         stats

2、说明:

stats 命令用于返回统计信息例如 PID(进程号)、版本号、连接数等。

3、这里显示了很多状态信息,下边详细解释每个状态项:

pid: memcache服务器进程ID

uptime:服务器已运行秒数

time:服务器当前Unix时间戳

version:memcache版本

pointer_size:操作系统指针大小

rusage_user:进程累计用户时间

rusage_system:进程累计系统时间

curr_connections:当前连接数量

total_connections:Memcached运行以来连接总数

connection_structures:Memcached分配的连接结构数量

cmd_get:get命令请求次数

cmd_set:set命令请求次数

cmd_flush:flush命令请求次数

get_hits:get命令命中次数

get_misses:get命令未命中次数

delete_misses:delete命令未命中次数

delete_hits:delete命令命中次数

incr_misses:incr命令未命中次数

incr_hits:incr命令命中次数

decr_misses:decr命令未命中次数

decr_hits:decr命令命中次数

cas_misses:cas命令未命中次数

cas_hits:cas命令命中次数

cas_badval:使用擦拭次数

auth_cmds:认证命令处理的次数

auth_errors:认证失败数目

bytes_read:读取总字节数

bytes_written:发送总字节数

limit_maxbytes:分配的内存总大小(字节)

accepting_conns:服务器是否达到过最大连接(0/1)

listen_disabled_num:失效的监听数

threads:当前线程数

conn_yields:连接操作主动放弃数目

bytes:当前存储占用的字节数

curr_items:当前存储的数据总数

total_items:启动以来存储的数据总数

evictions:LRU释放的对象数目

reclaimed:已过期的数据条目来存储新数据的数目

 

2、stats items

1、语法:

         stats items

2、说明:

stats items 命令用于显示各个 slab 中 item 的数目和存储时长(最后一次访问距离现在的秒数)。

 

3、stats slabs

1、语法:

         stats slabs

2、说明:

stats slabs 命令用于显示各个slab的信息,包括chunk的大小、数目、使用情况等。

 

4、stats sizes

1、语法:

         stats sizes

2、说明:

stats sizes 命令用于显示所有item的大小和个数。该信息返回两列,第一列是 item 的大小,第二列是 item 的个数。

 

5、flush_all

1、语法:

         flush_all [time] [noreply]

2、说明:

flush_all 命令用于用于清理缓存中的所有 key=>value(键=>值) 对。该命令提供了一个可选参数 time,用于在制定的时间后执行清理缓存操作。