设置session用memcache来存储
方法I: 在 php.ini 中全局设置
- session.save_handler = memcache
- session.save_path = "tcp://127.0.0.1:11211"
方法II: 某个目录下的 .htaccess
- php_value session.save_handler "memcache"
- php_value session.save_path "tcp://127.0.0.1:11211"
方法III: 再或者在某个一个应用中
- 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" 。
如果安装的PECL是memcached(依赖libmemcached库的那个扩展),则配置应为
- ini_set("session.save_handler", "memcached"); // 是memcached不是memcache
- ini_set("session.save_path", "127.0.0.1:11211"); // 不要tcp:[/b]
代码例子(不依赖libmemcached库的那个)
- <?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();
- ?>
用 sessionid 去 memcached 里查询一下:
- <?php
- $memcache = memcache_connect('localhost', 11211);
- var_dump($memcache->get('19216821213c65cedec65b0883238c278eeb573e077'));
- $memcache->set('aaaa', 'hello everyone');
- var_dump($memcache->get('aaaa'));
- ?>
会看到
string(37) "TEST|i:1177556731;TEST3|i:1177556881;"
这样的输出,证明 session 正常工作。
相关推荐
"PHP实现多服务器session共享之memcache共享"的主题着重于如何在多台服务器之间有效地存储和同步用户的session数据,以确保用户在不同服务器间的会话状态能够保持一致。本文将深入探讨这一主题,并围绕相关知识点...
将Session数据存储在memcache中,可以让多台服务器通过网络访问同一个Session,实现Session共享。在PHP中,可以使用`memcached`扩展来操作memcache。例如,`SessionMemcache.php`文件可能包含了以下代码: ```php $...
PHP与Memcache存储session详解: PHP作为服务器端脚本语言,广泛应用于Web开发领域。为了提升网站性能,PHP经常与Memcache配合使用,Memcache是一种高性能的分布式内存对象缓存系统,它可以用来存储PHP会话数据,...
配置文件 复制代码 代码如下: session.save_handler = memcache //设置session的储存方式为memcache memcache.hash_strategy = “consistent”//设置memcache的hash算法 session.save_path = “tcp://127.0.0.100:...
使用memcache存储session数据时,注意数据的加密和安全传输。虽然memcache本身不提供加密,但可以在应用程序层进行数据加密,防止敏感数据泄露。 6. **性能监控和优化**: 在实际运行中,需要定期检查memcache...
本文实例讲述了Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法。分享给大家供大家参考,具体如下: 1、首先安装memcache服务端: sudo apt-get install memcached 安装完成后系统 自动启动...
使用memcache存储session数据时,需要注意数据的安全性。由于memcache不提供内置的加密功能,因此敏感的session数据(如用户密码)应先进行加密再存储。同时,确保memcache服务器只接受来自可信源的连接。 通过...
编写一个类(如`MemcacheSession`),继承PHP的`SessionHandlerInterface`接口,覆盖其`open`, `close`, `read`, `write`, `destroy`, 和 `gc`等方法,以使用Memcache存储Session数据。 示例代码: ```php ...
- **session.save_handler** 和 **session.save_path**: 分别用于指定会话处理方式和会话存储路径,将save_handler设为memcache,即可利用memcache进行会话管理,同时,通过定义save_path中的服务器链接,可以实现跨...
Memcache是一个广泛使用的高性能分布式内存对象缓存系统,它可以用来存储数据,如数据库查询结果、session数据等,以提高网站的性能。 PHP-Memcache扩展是PHP与Memcache进行交互的桥梁,允许PHP代码直接存取和操作...
Memcached是一款高性能的分布式内存对象缓存系统,它能够存储和检索数据,包括动态网页应用中的session和对象,以减轻数据库的负担。在PHP中,使用Memcache扩展可以实现快速访问和存储数据,提高网站的性能。 **...
本文实例讲述了PHP保存session到memcache服务器的方法。分享给大家供大家参考,具体如下: 传统的 session 是写入到服务器文件中,可以在 php.ini 中看出,清单如下 session.save_handler = files session.save_...
5. **处理session数据一致性**:在使用Memcache存储session数据时,需要注意数据的一致性问题。由于Memcache是非持久化的,当服务器重启或memcache服务出现问题时,session数据可能会丢失。为避免这种情况,可以考虑...
PHP是一种广泛使用的服务器端脚本语言,它默认的session存储机制并不适用于多服务器环境。为了解决这个问题,开发者通常会利用外部存储服务,如memcached,来实现session共享。本文将深入探讨如何使用PHP和memcached...
memcached提供了一个自定义的session处理器可以被用于存储用户session数据到memcached服务端,下面通过本文给大家介绍在php中设置session用memcache来存储的方法总结,对php session memcache相关知识感兴趣的朋友...