用memcached好久了,现在总结下吧
1.memcache和memcached的区别:
copy下官方给的介绍(a)
memcache:
a:Memcache是一个自由和开放源代码、高性能、分配的内存对象缓存系统。用于加速动态web应用程序,减轻数据库负载。它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个Hash表,Memcached自管理这些Hash表。
b:php memcache独立用php实现,是老客户端,从我们实践中已发现有多个问题,而且功能少,属性也可设置的少;
http://pecl.php.net/package/memcache
memcached:
a:Memcached是简单而强大的。它简单的设计促进迅速部署,易于发展所面临的问题,解决了很多大型数据缓存。它的API可供最流行的语言。Memcache是该系统的项目名称,Memcached是该系统的主程序文件(字母d可以理解为daemon),以守护程序方式运行于一个或多个服务器中,随时接受客户端的连接操作,使用共享内存存取数据。
b:php memcached是基于原生的c的libmemcached的扩展,更加完善,建议替换为php memcached。
http://pecl.php.net/package/memcached
memcached安装(服务端)
一般都会放在root根目录下,根据服务器配置和个人爱好不同而定
cd /root/
wget http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz
下载好tar.gz文件后,解压&安装
tar -zxvf memcached-1.4.15.tar.gz
cd /memcached-1.4.15
./configure --profix=/usr/local/memcached //默认 可以在configure配置
make&&make install
启动memcached俩方式
1.service memcached start
2.memcached -p 11211 -I 127.0.0.1 -d -u root -P /var/run/memcached.pid -m 1024 -c 1024
解释下参数意思:
-p (port)端口
-I(ip)ip地址
-d (daemon)守护进程模式
-u (user) 用户
-P (path) memcached.pid路径
-m(memory) 内存大小
-c(connect) 最大连接数
注意:如果用socket连接memcached的话,那么参数里面要去掉-I -p ,用-s memcached的socked的文件路径
php中的扩展组件安装
tar -zxvf memcache-2.2.7.tar.gz
cd memcache-2.2.7
./configure --with-php-config=/usr/local/php/bin/php-config
make&&make install
cd ../
在php.ini文件中找到
extension=memcache.so
重启apache或者php,看下echo phpinfo();中是否有memcache开启
安装memcached的扩张库
cd root
wget https://launchpad.net/libmemcached/1.0/1.0.16/+download/libmemcached-1.0.16.tar.gz
wget http://pecl.php.net/get/memcached-2.1.0.tgz
tar xzf libmemcached-1.0.16.tar.gz
cd libmemcached-1.0.16
./configure--with-memcached=/usr/local/memcached
make&& make install
cd..
tar xzf memcached-2.1.0.tgz
cd memcached-2.1.0
/usr/local/php/bin/phpize
./configure--with-php-config=/usr/local/php/bin/php-config
make&& make install