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

最近把代码迁移到分布式服务器,用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學習者快速成長!