标签:异步 清除 需要 连接数 etc 环境 内存数据库 libev make
Memcached是一个内存数据库,数据以key/value键值对的形式保存在服务器预先分配的内存区块中,由于Memcached服务自身没有对缓存的数据进行持久化存储的设计,因此,在服务器端的Memcached进程重启之后,数据就会丢失。且当内存中缓存的数据容量达到启动时设定的内存值时,也会自动使用LRU算法删除过期的数据
#安装libevent #Memcached采用的是异步epoll/kqueue非阻塞I/O网络模型,其实现方式是基于异步的libevent时间单进程、单线程模式。使用libevent作为事件通知机制; #应用程序端通过指定服务器的IP地址及端口,就可以连接Memcached服务进行通信 yum install libevent libevent-devel #安装Memcached yum安装的版本略低,但是不影响使用,建议使用yum或rpm包方式安装,简单易用 yum install memcached #如果想安装更高版本的则需要编译安装 wget http://memcached.org/files/memcached-1.4.39.tar.gz tar zxf memcached-1.4.39.tar.gz cd memcached-1.4.39 ./configure --prefix=/usr/local/memcached make && make install ln -s /usr/local/memcached/bin/memcached /usr/bin/memcached #我们可以把启动命令放入/etc/rc.local,以便下次开机自启动
#启动Memcached memcached -m 16m -p 11211 -d -uroot -c 8192 #启动命令相关参数书名 -d 以守护进程方式运行服务 -u 指定运行Memcached用户 -l 指定监听的服务器IP地址,可以不设置此参数 -p 指定监听的端口,默认为11211 -P 保存PID到指定文件 -m 指定可以缓存数据的最大内存,默认为64MB -M 服务内存不够时禁止LRU,如果内存满了会报错(rather than removing items) -L 启用大内存也,可以降低内存浪费,改进性能 -c 最大并发连接数,默认是1024 -t 线程数,默认4.由于Memcached采用的是NIO,所以太多线程作用不大 -R 每个event最大请求数,默认是20 -C 禁用CAS(可以禁止版本计数,减少开销) #关闭Memcached 单实例:ps -ef|grep memcached|grep -v grep|awk ‘{print $2}‘|xargs kill 多实例: kill `cat /var/run/11211.pid` #启动多实例最好在启动时增加-P参数指定固定的pid文件,这样便于管理
和开发人员进行深入沟通,确定内存大小以及业务的重要性,进行决定是否采用负载均衡、集群,以及确定并发连接数等。对于运维人员,部署Memcached一般就是安装Memcached服务端,把服务启动起来,做好监控,配置好开机自启动。客户端的PHP程序一般在安装LNMP环境时都会提前安装Memcached客户端插件,Java程序环境下,开发人员会用第三方的JAR包直接连接Memcached服务。
标签:异步 清除 需要 连接数 etc 环境 内存数据库 libev make
原文地址:http://www.cnblogs.com/sellsa/p/7788655.html