- 浏览: 127790 次
- 性别:
- 来自: 福建
文章分类
最新评论
PECL :: Package :: memcache 2.1.1 版本的 Changelog 中有一条:
- Added experimental session storage support. You can use memcached as session storage.
也就是可以直接用 memcache 来作 PHP 的 session.save_handler。
1. 安装 memcached ,还是那套 ./configure; make; make install,注意 memcached 用 libevent 来作事件驱动,所以要先安装有 libevent。
2. 安装 pecl::memcache ,用 pecl 命令行工具安装:
pecl install memcache或直接从源码安装:
phpize ./configure make make install
将 php.ini 中 extension=memcache.so 打开,重启一下 apache,查看 phpinfo 中的 "Registered save handlers" 会有 "files user memcache" 这3个可用。
3. 修改配置文件,在 php.ini 中全局设置:
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" 。
4. 启动 memcached:
memcached -d -l 127.0.0.1 -p 11212 -m 128
5. 在程序中使用 memcache 来作 session 存储,用例子测试一下:
<?php session_start(); if (!isset($_SESSION['TEST'])) { $_SESSION['TEST'] = time(); } $_SESSION['TEST3'] = time(); print $_SESSION['TEST']; print "<br><br>"; print $_SESSION['TEST3']; print "<br><br>"; print session_id(); ?>
6. 用 sessionid 去 memcached 里查询一下:
<?php $memcache = memcache_connect('localhost', 11211); var_dump($memcache->get('19216821213c65cedec65b0883238c278eeb573e077')); ?>会有看到
string(37) "TEST|i:1177556731;TEST3|i:1177556881;"
这样的输出,证明 session 正常工作。
用 memcache 来存储 session 在读写速度上会比 files 时快很多,而且在多个服务器需要共用 session 时会比较方便,将这些服务器都配置成使用同一组 memcached 服务器就可以,减少了额外的工作量。缺点是 session 数据都保存在 memory 中,持久化方面有所欠缺,但对 session 数据来说也不是很大的问题。
另外,WS Memcached Session Handler for PHP 提供一种用 session_set_save_handler 来利用 memcached 的方法。
发表评论
-
xxtea对称加密解密算法
2012-06-13 15:20 2087Class Xxtea { public function ... -
PHP判断一个请求是AJAX请求还是普通请求
2012-04-20 16:56 1226条件:使用jquery框架 原理:在jquery框架中,对于 ... -
PHP XDebug扩展
2012-04-18 09:28 1116XDebug 是一个 php 代码的调试工具, 对程序员调试程 ... -
用P3P header解决iframe跨域访问cookie[各种语言]
2012-04-17 14:27 2027各种语言在头文件中, ... -
PHP高级工程师的面试题
2012-04-13 18:12 9101. 基本知识点 HTTP协议中几个状态码的含义:50 ... -
用Zend Studio 快速生成WSDL文件
2011-08-08 17:48 5872最近在写webservice接口,最麻烦的是WSDL文件。以前 ... -
header()函数的应用
2011-02-10 12:00 906备注:使用header()函数前,不能有任何输出,前面放个ob ... -
多维对象转数组
2011-01-12 17:20 775static function object_to_arra ... -
PHP异常处理
2010-12-20 17:33 777/** * PHP异常处理 * * PHP 5 添加了类 ... -
快捷打印变量
2010-12-17 15:06 791function e() { $color = '' ... -
PHP字符串处理函数大全
2010-09-03 10:13 768AddSlashes: 字符串加入斜线。bin2hex: 二进 ... -
interface与abstract的区别
2010-08-06 14:08 10351.相同点: A. 两者都是 ... -
多维数组转化成对象
2010-06-11 13:33 900# 把数组转化成对象 function array_to_o ... -
遍历文件夹下的所有文件和子文件夹
2010-04-23 11:39 861function my_scandir($dir) { ... -
header中Content-type的种类
2010-04-22 00:01 1497Content-type 的说明:'hqx' -> 'a ... -
PHP扩展CURL的用法
2010-04-13 15:05 11061、使用CURL模拟POST表单提交 <?php / ... -
文件操作函数
2010-03-26 12:27 715/** * 读文件 +---------------- ... -
汉字转换成拼音
2010-03-26 12:21 1235<? /* * 把汉字,词转成汉语拼音及拼音缩写,如 ... -
获取客户端IP地址
2010-03-26 12:05 855<?php function getip() { ... -
echo 的另一种写法
2010-03-26 12:01 1011<?php $a="变量的值将被带入&quo ...
相关推荐
描述中提到,“用于tomcat6 使用memcache 实现session共享的jar包”,这表明这些jar文件是为Tomcat6设计的插件或库,目的是通过Memcache这个内存缓存系统来存储和管理Session数据。Memcache是一个高性能、分布式的...
总的来说,"PHP实现多服务器session共享之memcache共享"这个主题涵盖的知识点包括:session管理、分布式存储、memcache的使用、PHP配置、并发控制以及系统扩展性设计。掌握这些知识对于构建高可用、可扩展的Web应用...
本文实例讲述了Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法。分享给大家供大家参考,具体如下: 1、首先安装memcache服务端: sudo apt-get install memcached 安装完成后系统 自动启动...
本篇将深入探讨如何在Tomcat8的集群环境中使用memcache来解决session共享的问题。 首先,让我们理解什么是session。Session是Web应用程序用来跟踪用户状态的一种机制,它存储在服务器端,通常包含了用户的登录信息...
2. **配置Session管理器**:在Web应用的配置文件(如web.xml)中,设置session管理器,指定使用Memcache作为session存储的后端。 3. **初始化Memcache连接**:在应用启动时,建立与Memcache服务器的连接,并设置好...
在这个配置中,我们将使用Memcached来存储session数据,确保所有Tomcat节点都能访问到相同的数据。提供的jar包“memcache-session-manager”就是用来实现这一功能的。该组件允许Tomcat将session对象序列化并存储到...
将Session数据存储在memcache中,可以让多台服务器通过网络访问同一个Session,实现Session共享。在PHP中,可以使用`memcached`扩展来操作memcache。例如,`SessionMemcache.php`文件可能包含了以下代码: ```php $...
10. **minlog-1.3.0.jar**:MinLog是一个简单的日志库,可能被上述库使用来记录运行时信息和错误。 总结起来,这个压缩包提供了一套完整的解决方案,用于在Tomcat7环境中通过Memcache实现session共享。通过这些库,...
1、直接修改php.ini配置文件 复制代码 ...//127.0.0.100:11211” //设置session储存的位置,多台memcache用逗号隔开,例如:tcp://127.0.0.1:11211,tcp://127.0.0.1:12000 2、利用目录下的 .htaccess 文件配置 复制代码
通常情况下,可以使用PECL安装Memcache扩展,一旦安装完成,你就可以开始配置PHP来使用Memcache存储session了。 配置PHP使用Memcache存储session有几种方法: 方法一:在php.ini配置文件中进行全局设置。需要找到...
标题中的“Memcache Session Manager + Tomcat8.5.6”指的是在Tomcat 8.5.6版本中,利用Memcache作为会话管理器来实现跨服务器的session共享。Memcache是一个高性能、分布式内存对象缓存系统,常用于缓解数据库压力...
这个程序包“tomcat7+nginx+memcached”旨在实现通过Nginx进行负载均衡,以及利用Memcache来共享Tomcat服务器之间的Session数据。以下是关于这个集成方案的详细解释: 1. **Nginx**: - **功能**:Nginx是一款高...
标题 "Memcache Session Manager Tomcat8.5.6" 指的是在Tomcat 8.5.6版本中使用Memcache作为会话管理器的一种配置。这种配置旨在提高Web应用在集群环境下的性能和可扩展性,通过将用户的会话数据存储在分布式缓存...
memcached提供了一个自定义的session处理器可以被用于存储用户session数据到memcached服务端,下面通过本文给大家介绍在php中设置session用memcache来存储的方法总结,对php session memcache相关知识感兴趣的朋友...
5. **Nginx配置**:在Nginx的配置文件中,你可以使用`ip_hash`或`sticky`模块来基于用户的IP地址或特定cookie保持会话粘滞,确保同一用户的请求始终路由到同一台Tomcat服务器,以减少Session同步的需求。 6. **测试...
为了解决这个问题,我们可以利用第三方缓存系统,如Memcached,来实现Session的集中式存储和共享。"tomcat7集群session共享memcache依赖包1.8.3"这个标题正揭示了这样一个解决方案。 首先,让我们深入了解Tomcat7...
使用memcache存储session数据时,注意数据的加密和安全传输。虽然memcache本身不提供加密,但可以在应用程序层进行数据加密,防止敏感数据泄露。 6. **性能监控和优化**: 在实际运行中,需要定期检查memcache...