Session和redis结合运用技巧

背景概括

服务端和客户端之间是通过session(会话)来连接沟通。当客户端的浏览器连接到服务器后,服务器就会建立一个该用户的session。每个用户的session都是独立的,并且由服务器来维护。每个用户的session是由一个独特的字符串来识别,成为session id。用户发出请求时,所发送的http表头内包含session id 的值。服务器使用http表头内的session id来识别时哪个用户提交的请求。

session保存的是每个用户的个人数据,一般的web应用程序会使用session来保存通过验证的用户账号和密码。在转换不同的网页时,如果需要验证用户身份,就是用session内所保存的账号和密码来比较。session的生命周期从用户连上服务器后开始,在用户关掉浏览器或是注销时用户session_destroy函数删除session数据时结束。如果用户在20分钟内没有使用计算机的动作,session也会自动结束。

php处理session的应用架构

session的配置文件解析

'session' => [

'id' => '',

// SESSION_ID的提交变量,解决flash上传跨域

'var_session_id' => '',

// SESSION 前缀

'prefix' => '',

// 驱动方式 支持redis memcache memcached

'type' => '\driver\session\Db', // 最主要是这里!!!

// 是否自动开启 SESSION

'auto_start' => true,

'expire' => 3600, // Session有效期

],

重点之重点

立秋会

// 驱动方式 支持redis memcache memcached

'type' => 'redis',

这个比较重要,主要是在session和redis之间的变量名不一致导致,在session中为type,但是当存储服务器为redis时,一定要作变量动态配置type=>转变为session_type不然信息存储不到redis里面,如下图

总结

总之,对于Cache,Cookie和Session存到redis或者数据库时,一定要注意变量之间的替换和转变,不然就会耗费很多的时间在调试上费功夫

原文发布于微信公众号 - 风帆(wdswhf)

原文发表时间:2019-08-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券