标签:
1:查看当前PHP版本中Seesion支持的储存方式
可以看出当前Session支持的储存方式有以下几种
files:文件模式,PHP默认的储存方式,把储存的值放在服务器的指定目录里
user:用户模式,暂时不了解
redis:支持redis储存。通过上面的图,可以看出当前session是redis储存,并指定了连接信息
memcache:支持memcache储存
2:redis|memcache储存的配置方式(支持redis|memcache拓展)
一:php.ini配置(推荐)
session.save_handler = [redis|memcache]
//指定连接redis|memcache的地址,多个配置用","号隔开.就redis来说,如果有密码则要追加auth=[password],如果要指定redis储存的数据库片,则要追加database=[num]
session.save_path = "tcp://2.2.2.230:6379?auth=123456&database=16"
二:程序中配置
ini_set("session.save_handler", "redis");
ini_set("session.save_path", "tcp://2.2.2.230:6379?auth=123456");
3:session优化
由于默认的session的储存方式是通过files储存在服务器的文件中,所以会产生IO的操作,大访问量的session产生会影响到session的读取,所以建议在实际的生产环境中,使用redis|memcache进行储存,它们都是基于内存的储存方式,最明显的就是减少的IO的操作
4:实际操作
session储存方式的改变,跟默认操作session是一样的。注意,在进行session的操作的时候,一定要加上session_start(),相当于实例化session对象,因为默认session是关闭的,即空对象。个人在进行redis的简单测试中,由于没有开启session_start,导致一直无法进行正常的session存取,平时用框架,到真没有注意到这个地方。
标签:
原文地址:http://www.cnblogs.com/axunz/p/5430816.html