Website(Session/Cookie)

cookie和session

  • 假设某个用户访问你的网站,当他完成认证之后,你可以将他的用户名和 email 地址添加到 session 中, 这样当你需要的时候你就可以直接访问这些数据,而不用查询数据库了
  • 要清除当前的 session(例如:退出登录时)

存储 session 的驱动(或叫做存储引擎)

  • 文件(默认的,基于文件系统)
  • 数据库
  • Redis
  • Memcached
    执行一些简单的测试可能会让你真的相信 SQL 数据库更快一点,但是在 99% 的情况下,这只是当你的 session 并发非常少的时候是对的.当 session 的并发数越来越大,服务器的负载越来越高, 这时就不一样了,文件系统将会胜过几乎所有的关系型数据库

初始化Session类

  • Session 通常会在每个页面载入的时候全局运行,所以 Session 类必须首先被初始化
  • Session 类基本上都是在后台运行,当初始化 session 之后,系统会自动读取、创建和更新 session 数据

Session是如何工作的?

  • 当页面载入后,Session 类就会检查用户的 cookie 中是否存在有效的 session 数据. 如果 session 数据不存在(或者与服务端不匹配,或者已经过期), 那么就会创建一个新的 session 并保存起来
  • 如果 session 数据存在并且有效,那么就会更新 session 的信息. 根据你的配置,每一次更新都会生成一个新的 Session ID
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。