Session和Cookie
Session和Cookie
1. Cookie
1.1 Cookie概念
- Cookie是浏览器保存在本地的文本内容
- Cookie常用于保存登陆状态,用户资料等小文本(真实开发中,用户量小众的时候更愿意保存SessionId,通过SessionId到Session服务器获取Session信息,因为每次客户端请求的时候都会携带Cookie信息,而这个信息最大可支持4k,影响性能)
- Cookie具有时效性,Cookie内容会伴随请求发送给服务器
1.2 Cookie常用方法
- Cookie(key, value):cookie的构造函数
- setMaxAge():设置cookie的最大存活时间
- getValue():获取对应cookie的cookie值
- setValue(newValue):设置对应cookie的cookie的新值
- Response.addCookie(cookie):向响应中添加对应key的cookie对象
2. Session
2.1 Session概念
- Session(用户会话)用于保存与浏览器窗口对应的数据
- Session的数据存储在Web服务器中,具有时效性
- Session通过浏览器Cookie的SessionId值获取
2.2 可以实现Session的方式
我现在开发中遇到的有以下几种方式,更多的希望大家帮我完善
- 服务器(缓存)Session
- 缓存服务器,登录访问缓存服务器,生成Session,访问业务服务器携带SessionId,去缓存服务器取Session,更新Session时效
- 数据库缓存,登录生成Session,存到数据库,访问携带SessionId,去缓存服务器读取Session更新Session时效
- redis服务器缓存Session,更新时效,类似数据库缓存
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)