CI框架的Session使用非常普遍,最近项目中使用redis存储session,用到了CI_Session_redis_driver驱动,使用中发现一个问题,特记录个人的解决方案,该方案仅供参考,如读者发现这种改法有问题,请提出,万分感谢。
- 问题描述: 如果前端多个ajax请求同时到达,他们同时去读取ci_session,读取是会给这个session_id加锁,CI_session的redis驱动里边申请锁的代码如下:
_get_lock 框架获取锁的代码
protected function _get_lock($session_id)
{
// PHP 7 reuses the SessionHandler object on regeneration,
// so we need to check here if the lock key is for the
// correct session ID.
if ($this->_lock_key === $this->_key_prefix.$sessio