PHP自定义redis-session能否用hash类型
PHP中文网
PHP中文网 2017-04-11 08:59:49
0
1
228

最近把代码迁移到分布式服务器,用session_set_save_handler()函数注册了自定义的会话存储函数。php脚本执行结束时就会把$_SESSION数组中的内容进行序列化并保存到由session_id指定的key中,是string类型。

后来觉得这样会出现并发问题,例如两个脚本同时去修改$_SESSION数组。PHP默认是用文件来保存session数据的,会加锁,所以不会出现这样的问题。

后来就想到用hash类型来保存session,似乎很perfect。session的write函数每次拿到$data变量的内容都要反序列化得到原本的结构,并保存到hash中。但后来想到如果$_SESSION数组中某个key对应的value不是string类型,那也是会出问题。

后来也觉得write函数每次这样去反序列化也是很麻烦。虽然得知是可以修改PHP的session编码方式,但是wirte函数接收的$data参数只能是string,然并卵。

各位朋友,怎么样可以既解决并发问题,又可以用最适合的redis类型去存放session呢?求建议!谢谢!

PHP中文网
PHP中文网

认证0级讲师

모든 응답(1)
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!