[关闭]
@52fhy 2016-05-12T23:05:09.000000Z 字数 1229 阅读 408

Session分布式存储

PHP


Memcache

  1. <?php
  2. ini_set("session.save_handler", "memcache"); // memcache
  3. ini_set("session.save_path", "127.0.0.1:11211"); // 不要tcp:
  4. session_start();
  5. $mem = new memcache();
  6. $mem->addServer('127.0.0.1', '11211');
  7. //测试memcache是否正常
  8. //$mem->add('uid', 6, 0, 3600);
  9. //echo $mem->get('uid');
  10. //设置一个session
  11. //$_SESSION['uid'] = 10;
  12. //var_dump($_SESSION);
  13. //查看session在memcache里的存储
  14. echo $mem->get(session_id());

Redis

  1. <?php
  2. ini_set("session.save_handler", "redis"); // memcache
  3. ini_set("session.save_path", "127.0.0.1:6379"); // 不要tcp:
  4. session_start();
  5. $redis = new redis();
  6. $redis->connect('127.0.0.1', '6379');
  7. //测试redis是否正常
  8. //$redis->set('uid', 6, 3600);
  9. //echo $redis->get('uid');
  10. //设置一个session
  11. $_SESSION['uid'] = 10;
  12. //var_dump($_SESSION);
  13. //查看session在redis里的存储
  14. var_dump($redis->get('PHPREDIS_SESSION:'.session_id()));

自定义

需要实现:

  1. session_set_save_handler ( callable $open , callable $close , callable $read , callable $write , callable $destroy , callable $gc [, callable $create_sid ] )

自 PHP 5.4 开始,可以使用下面的方式来注册自定义会话存储函数:

  1. bool session_set_save_handler ( SessionHandlerInterface $sessionhandler [, bool $register_shutdown = true ] )

session_set_save_handler() 设置用户自定义 会话存储函数。 如果想使用 PHP 内置的会话存储机制之外的方式, 可以使用本函数。 例如,可以自定义会话存储函数来将会话数据存储到数据库。

在PHP中自定义session的存储方式 - yagas的专栏 - 博客频道 - CSDN.NET
http://blog.csdn.net/yagas/article/details/7593415

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注