首页 > 开发 > Php > 正文

Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法

2020-02-21 21:03:43
字体:
来源:转载
供稿:网友

本文实例讲述了Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法。分享给大家供大家参考,具体如下:

1、首先安装memcache服务端:

sudo apt-get install memcached

安装完成后系统 自动启动了 memcached服务占用11211端口

如需重新配置11211端口的服务 需要关闭已开启的memcached服务

手动启动:

memcached -d -m 128 -p 11211 -u memcache

这里需要说明一下memcached服务的启动参数:

-p 监听的端口
-l 连接的IP地址, 默认是本机
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u 以的身份运行 (仅在以root运行的时候有效)
-m 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25-n 最小分配空间,key+value+flags默认是48
-h 显示帮助

2、安装PHP Memecache 客户端

$ sudo apt-get install php5-memcache

重启web服务器

测试memcache代码:

<?php$mem = new Memcache; //创建Memcache对象$mem->connect("127.0.0.1", 11211); //连接Memcache服务器$val = "这是一个Memcache的测试.";$key = md5($val);if(($k = $mem->get($key))){ //判断是否获取到指定的key  echo 'from cache:'.$k;} else {  echo 'normal'; //这里我们在实际使用中就需要替换成查询数据库并创建缓存.  $mem->set($key, $val, 0, 120); //增加插入一条缓存,缓存时间为120s}

用memcache存储session

一般地, Session 是以文本文件形式存储在服务器端的。如果使用 Seesion,或者该 PHP 文件要调用 Session 变量,那么就必须在调用 Session 之前启动它,使用 session_start() 函数。其它都不需要你设置了,PHP 自动完成 Session 文件的创建。其默认 Session 的存放路径是服务器的系统临时文件夹。

但是如果碰到大数据量的Sesstion的时候, 使用基于文件的Session存取瓶颈可能都是在磁盘IO操作上,现在利用Memcached来保存Session数据,直接通过内存的方式,效率自然能够提高不少。 在读写速度上会比 files 时快很多,而且在多个服务器需要共用 session 时会比较方便,将这些服务器都配置成使用同一组 memcached 服务器就可以,减少了额外的工作量。

其缺点是 session 数据都保存在 memory 中,一旦宕机,数据将会丢失。但对 session 数据来说并不是严重的问题。

如何用 memcached 来存储 session呢?以下是基本的配置步骤:

1. 安装 memcached (略过,不清楚的筒子可以查看前面一篇文章://www.Cuoxin.com/article/85510.htm)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表