在ubuntu下安装memcache

使用Memcache的网站一般流量都是比较大的,为了缓解数据库的压力,让Memcache作为一个缓存区域,把部分信息保存在内存中,在前端能 够迅速的进行存取。 下面来介绍一下如何安装和使用memcache。

安装memcache


在ubuntu下安装memcache是非常的简单和快捷的,直接安装即可(本人使用的是ubuntu 10.04LTS)
sudo apt-get install memcached
memcached -d -m 50 -p 11211 -u root


参数说明:-m 指定使用多少兆的缓存空间;-p 指定要监听的端口; -u 指定以哪个用户来运行。 查看更多启动参数

接下来是要安装php的memcache模块和memcached模块

sudo apt-get install php5-memcache
sudo apt-get install php5-memcached 


修改php.ini 的全局设置,本人的php.ini文件在/etc/php5/apache2/下
sudo vi /etc/php5/apache2/php.ini

找到session.save_handler,并设为 session.save_handler = memcache,把session.save_path前面的分号去掉,并设置为 session.save_path = “tcp://127.0.0.1:11211″
session.save_handler = memcache
session.save_path = “tcp://127.0.0.1:11211″


或者某个目录下的 .htaccess :
php_value session.save_handler “memcache”
php_value session.save_path “tcp://127.0.0.1:11211″



再或者在某个一个应用中:
ini_set(“session.save_handler”, “memcache”);
ini_set(“session.save_path”, “tcp://127.0.0.1:11211″);


使用多个 memcached server 时用逗号”,”隔开,并且和 Memcache::addServer() 文档中说明的一样,可以带额外的参数”persistent”、”weight”、”timeout”、”retry_interval” 等等,类似这样的:”tcp://host1:port1?persistent=1&weight=2,tcp://host2:port2″ 。

之后记得要重启apache服务器
sudo /etc/init.d/apache2 restart

查看一下phpinfo()中的 “Registered save handlers” 会有 “files user memcache” 这3个可用。如果没有的话重新安装一下或者确定自己是否有重启apache服务器。


接下来要测试一下是否安装成功,编辑文件cache.php,内容为:
view plaincopy to clipboardprint?

error_reporting(E_ALL);  
$memcache = new Memcache;  
$memcache->connect('localhost', 11211) or die("Could not connect");  
      
$memcache->set('key', 'This is a test!', 0, 60);  
$val = $memcache->get('key');  
echo $val;  


如果能看到 This is a test!,表示正常安装成功了。
用 memcache 来作 PHP 的 session.save_handler
view plaincopy to clipboardprint?

session_start();  
$_SESSION["UserID"]=123;  
echo session_id();  



记下seesion_id,然后编辑一个新的文件,内容为:
view plaincopy to clipboardprint?

$memcache = memcache_connect('localhost', 11211);  
var_dump($memcache->get('f4oi3gkal46t1vbb8kd98srff3'));   // f4oi3gkal46t1vbb8kd98srff3 必须换成你上面取得的session_id  


如果显示 string(13) “UserID|i:123;” 那么表示你成功使用了memecache。

用 memcache 来存储 session 在读写速度上会比 files 时快很多,而且在多个服务器需要共用 session 时会比较方便,将这些服务器都配置成使用同一组 memcached 服务器就可以,减少了额外的工作量。缺点是 session 数据都保存在 memory 中,持久化方面有所欠缺,但对 session 数据来说也不是很大的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值