PHP session 存储方式
file :
session文件同步
几种方式优缺点很明显:建议使用redis
redis实例:
session.save_handler = file ssession.save_path = "/tmp"
session文件同步
memcache:
session.save_handler = memcache session.save_path = "tcp://127.0.0.1:11211,tcp://Mem服务器2:端口号..." 使用多个 memcached server 时用逗号","隔开,可以带额外的参数"persistent"、"weight"、"timeout"、"retry_interval" 等, 类似:"tcp://host1:port1?persistent=1&weight=2,tcp://host2:port2" 参考:http://php.net/manual/zh/memcache.addserver.php 如果安装的PECL是memcached(使用libmemcache库的那个),则配置应为 ini_set("session.save_handler", "memcached"); // 是memcached不是memcache ini_set("session.save_path", "127.0.0.1:11211"); // 不要tcp:// 参数参考:http://php.net/manual/zh/memcached.addserver.php
参数参考:
http://php.net/manual/zh/memcache.addserver.php
http://php.net/manual/zh/memcached.addserver.php
redis:
session.save_handler = redis session.save_path = "tcp://host1:6379?weight=1, tcp://host2:6379?weight=2&timeout=2.5, tcp://host3:6379?weight=2" 参数: weight 比重 timeout 超时 persistent 持久连接 取值 0 1 prefix session id 前缀 auth 验证 database 选择的数据库 session 以秒表示 生命周期由session.gc_maxlifetime来控制 ini_set("session.gc_maxlifetime","3600")可改变生存时间,需要SETEX 命令,redis版本至少2.0 phpredis 也可以链接一个unix domain socket :unix:///var/run/redis/redis.sock?persistent=1&weight=1&database=0参数参考:https://github.com/phpredis/phpredis ,http://blog.csdn.net/fb408487792/article/details/43274565
几种方式优缺点很明显:建议使用redis
redis实例:
ini_set("session.save_handler", "redis"); ini_set("session.save_path", "tcp://127.0.0.1:6379"); session_start(); $_SESSION["sessionKey"] = "redis session!"; var_dump($_SESSION["sessionKey"]); echo "<br/>"; $redis = new redis(); $redis->connect("127.0.0.1", 6379); //redis用session_id作为key并且是以string的形式存储 var_dump($redis->get("PHPREDIS_SESSION:" . session_id()));
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇:没有了
- 下一篇: PHP内存泄漏检测方法