键盘敲烂,月薪过万作业不做,等于没学
当前系列: 垃圾桶 修改讲义

基于cookie

cookie的局限:

  1. 不宜存放大量数据,以免加重流量负担
  2. 不宜存放敏感数据,以免泄露(应用:验证码)

于是基于cookie,ASP.NET推出了session(其他 web server技术也一样)。session可以为每个用户提供独立的数据存储空间。具体来说:

  • session把主要数据存放在服务器端,
  • 只把SessionID存放在cookie中来回传递
  • 服务器通过SessionId定位session中存放的数据。


优缺点

所以有时候session也被用作“缓存”,以减少数据库的请求。(通常来说,数据库是系统最大瓶颈)

session的问题:

  • 占用大量内存,需要额外的运算(比如通过SessionId查找)
  • 可能会丢失


存储位置

session默认存放在IIS的内存中,但也可以自定义配置:

存放位置


IIS进程中内存
最快
不稳定,因为IIS重启/Application pool回收等丢失
一个独立的windows服务
比较快
比较稳定,一般来说只有服务器重启才会丢失
数据库
不快
稳定,在指定的过期时间内不丢失;不担心size,大量session时使用
分布式缓存
同缓存
在数据库性能不足时使用

补充:分布式。当服务器压力变大时,一般有两种解决方案

  • 垂直升级:加内存,换CPU,上小型机……
  • 水平升级:降压力分摊到到多台电脑


实例:用户登录

使用session(而不是cookie)保存用户信息




serialize



作业

  • 把之前的记住登录由cookie实现改成session实现(无记住登录)



学习笔记
源栈学历
今天学习不努力,明天努力找工作

作业

觉得很 ,不要忘记分享哟!

任何问题,都可以直接加 QQ群:273534701

在当前系列 垃圾桶 中继续学习:

多快好省!前端后端,线上线下,名师精讲

  • 先学习,后付费;
  • 不满意,不要钱。
  • 编程培训班,我就选源栈

更多了解 加:

QQ群:273534701

答疑解惑,远程debug……

B站 源栈-小九 的直播间

写代码要保持微笑 (๑•̀ㅂ•́)و✧

公众号:源栈一起帮

二维码