memcached学习——大纲简介 && 安装(基于centos6.5)、启动、关闭memcached(一)
大纲简介
安装前,先简单介绍一下memcached。
memcached是一个免费、开源、高性能的分布式缓存。设计memcached的初衷是为了加快web应用程序,减少DB负载。
安装要求:支持大多数linux和基于BSD的系统,官方没有给出windows版本,但是网上有memcached for windows可以在windows上使用。
数据类型:仅仅支持string类型数据
特点:
简单的key-value的键值对。
基于c/s架构,客户端负责选择要写入的目标服务器以及通过接口进行读写操作,服务器则负责实际的写入操作、内存管理等。
所谓分布式是用一致性hash算法实现的,各节点相互独立,没有任何通信机制。
分配的内存不会被释放掉,但是可以被重用,基于LRU算法实现。
完全基于内存,没有持久化机制。
效率:
官方给出的数值,在比较牛B的机器上,memcached的理论效率能达到200000次/s(没有机器配置,仅供参考)
使用需要注意的内容:
不能随意更改服务器的时间,可能影响到缓存的失效时间
网络稳定
内存足够,避免使用到Swap分区,否则会造成性能问题
连接数配置合理
增长因子配置合理,否则造成大量的内存浪费
OK,前戏足够,下面直奔主题~
安装memcached
#memcached依赖libevent,所以先下载并安装libevent。
#到官网下载:
#https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz
tar -zxvf libevent-2.0.22-stable.tar.gz
cd libevent-2.0.22-stable
./configure --prefix=/usr/local/libevent-2.0.22-stable
make && make install
安装memcached
安装最新版本memcached
wget https://memcached.org/latest
tar -zxvf memcached-1.4.34.tar.gz
cd memcached-1.4.34.tar.gz
#--with-libevent:指定libevent的安装目录,--prefix:指定安装的版本,相关命令cd到memcached/bin下,使用./configure --help查看
./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent-2.0.22-stable/ --enable-64bit
make && make install
安装期间可能遇到的问题:
没有安装gcc无法编译 => yum -y install gcc
至此memcached安装成功!
启动、停止memcached
1.启动
#cd到memcached的安装目录,执行启动命令
cd /usr/local/memcached-1.4.34/bin ./memcached -u root -m 80 -c 1024 -p 11213 -n 70 -f 1.2 -d
memcached启动参数说明:(更多参数请使用./memcached -help查看)
-u 进程用户
-m 分配内存,注意实际分配内存要略微高于此值。当然,如果设置内存过低(低于64M),实际使用内存可能 >= 64M。
-c 连接数,默认是1024
-n 最小分配内存 key + value + flags,最小是48bytes
-f 增长因子,和memcached的内存分配有关
-d 以守护线程启动
-v 提示信息(在事件循环中打印错误、警告信息)
-vv 详细信息(可以打印客户端命令、响应),以very vrebose模式启动,调试信息和错误输出到控制台
-vvv 超详细信息(可以打印内部状态的变化)
-p 指定端口号,一台server上可以跑多个实例
-l 用于绑定特定的接口或IP地址,安全相关
-P 监听TCP端口
-U 监听UDP端口
-s 限制只能通过本地用户访问,配置此参数后TCP和UDP监听都将失效
-L 尝试使用大内存页(如果可用的话)。提高内存页尺寸可以减少"页表缓冲(TLB)"丢失次数,提高运行效率
2.停止
#查询memcached进程id,杀死进程
ps -ef|grep memcached kill -9 pid
操作示例: