c# Cookie,Session,Application,Cache 四种缓存使用情景
好记性不如烂笔头,记录一下C#缓存使用的情景模式。。。。个人理解,不正之处,欢迎指正
讨论 Cookie,Session,Application,Cache 四种,有的缓存情景对人,有的缓存情景对事儿。Cookie,Session对人,每个客户端为主体(公交车上的乘客)。。Application,Cache对事儿,以对象为主体(公交车)
虽然之前写了Redis了,但是适合项目才是最正确的。 ( 存在即合理 ——鲁迅)
一:Cookie
储存在客户端上的缓存,在没有经过骚操作特殊处理的话,很不安全 我用Cookie存储了账号密码,那么别人就有到我账号的风险。。建议 把账号和密码用自己独特方式加密一下,搞点骚东西进去 安全第一。
总结Cookie缓存作用于客户端自己相对独立的数据,跟server端交互不频繁的数据(用户名,密码 ヽ(ー_ー)ノ )
二:Session
储存在服务端上的缓存,既然存在服务端,就会占用服务器资源啦 仁者见仁。 相对来说,是安全的,在微信环境,阿里沙箱环境里是可以使用的(会自动生成一个 Session Key ,你每次取值的时候,客户端和服务端都会Key值比较。。。所以Session只能你自己用)。 使用它可以存用户操作的数据,比如我不想把这个数据写入数据库,但是我还得使用它,或者说我在一个页面停留有痕迹信息,一个小时后我在进来,依然可以使用这个信息。不想存库的话,用Session很好解决。过期时间,自己考虑。。。┗( ▔, ▔ )┛
三:Application
对事儿的缓存。。 Key值对应上,谁都可以使用 储存在服务端,特点是永远都不会过期。 使用情景模式:share 缓存 共享,大家都可以使用。 (比如 坐公交车,大家都想知道车上坐的有哪些乘客 在不写数据库的情况下,你怎么知道车上都有谁嘞。Application就是用来解决这个问题的,上车一个人就存,下车就删了)。(ಥ_ಥ)
四:Cache
名副其实嘛 功能呢,比Application全面一点。举例子:Application没有过期时间限制,这个公交车发车了,空车它也跑,一直跑。。钢铁直男!直到服务重启,宕机,在我看来吧,就是个铁憨憨。( ̄ェ ̄;) 不喜欢。。cache就是升级版,可以设置过期时间。。使用很方便,跟Application不同的是,当要加入的缓存项已经在Cache中存在时,Insert将会覆盖原有的缓存项目,而Add则不会修改原有缓存项。。使用更方便 (✪ω✪)
c# Cookie,Session,Application,Cache 四种缓存使用情景的更多相关文章
- Servlet学习笔记(1)--第一个servlet&&三种状态对象(cookie,session,application)&&Servlet的生命周期
servlet的404错误困扰了两天,各种方法都试过了,翻书逛论坛终于把问题解决了,写此博客来纪念自己的第一个servlet经历. 下面我会将自己的编写第一个servlet的详细过程提供给初学者,大神 ...
- struts2获取request、session、application的四种方式
struts2获取request.session.application的四种方式 //获取map类型的request.session.application public class LoginAc ...
- JavaWeb -cookie&session&application
cookie&session&application总结 Cookie[key-value](不是内置对象必须new): 1. Cookie 是由服务端生成的,在发送给客户端保存 2. ...
- application/json 四种常见的 POST 提交数据方式
四种常见的 POST 提交数据方式 HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS.GET.HEAD.POST.PUT.DELETE.TRACE.CONNECT 这几种.其中 ...
- 转:application/json 四种常见的 POST 提交数据方式
四种常见的 POST 提交数据方式 HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS.GET.HEAD.POST.PUT.DELETE.TRACE.CONNECT 这几种.其中 PO ...
- 【HTML5】Application Cache应用程序缓存
HTML5 引入了应用程序缓存,这意味着 web 应用可进行缓存,并可在没有因特网连接时进行访问. 应用程序缓存为应用带来三个优势: 离线浏览 - 用户可在应用离线时使用它们 速度 - 已缓存资源加载 ...
- Session共享的四种方法
1. 基于NFS的Session共享 NFS是Net FileSystem的简称,最早由Sun公司为解决Unix网络主机间的目录共享而研发. 这个方案实现最为简单,无需做过多的二次开发,仅需将共享目录 ...
- HTML5学习总结-08 应用缓存(Application Cache)
一 应用缓存(Application Cache) 1 应用缓存 HTML5 引入了应用程序缓存,这意味着 web 应用可进行缓存,并可在没有因特网连接时进行访问. 应用程序缓存为应用带来三个优势: ...
- JSP九大内置对象和四种属性范围解读
林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文首先主要解说了JSP中四种属性范围的概念.用法与实例. 然后在这个基础之上又引入了九 ...
随机推荐
- Linux下Memcache服务器端的安装
最近在研究怎么让Discuz!去应用Memcache去做一些事情,记录下Memcache安装的过程. Linux下Memcache服务器端的安装服务器端主要是安装memcache服务器端,目前的最新版 ...
- Exp6 信息搜集与漏洞扫描——20164325王晓蕊
1.实践目标 掌握信息搜集的最基础技能与常用工具的使用方法. 2.实践内容 2.1 各种搜索技巧的应用 2.1.1 Netcraft查询 Netcraft这个网站可以查询到特定网站的IP地址,以wei ...
- 【hdu2000】ASCII码排序
题目来源:www.acm.hdu.edu.cn 题目编号:2000 ASCII码排序 /*----------------------------------------原题目------------ ...
- [转] Snapshotting with libvirt for qcow2 images
http://kashyapc.com/2011/10/04/snapshotting-with-libvirt-for-qcow2-images/ Libvirt 0.9.6 was recentl ...
- Ubuntu18.04版本设置root账户
Linux系统下文件的权限十分重要,大多数操作都需要一定的权限才可以操作,Ubuntu18.04默认安装是没有设置root账户的,因此想要获得root账户登录可以使用以下步骤: 1.首先获得临时的 ...
- MySQL如何使用索引
初始化测试数据 创建一个测试用的表 create table dept(id int primary key auto_increment , deptName varchar(32) not nul ...
- 小程序如何获取code
小程序如何获取code <button open-type="getUserInfo" hover-class='none' bindgetuserinfo="ge ...
- java中this的N种使用方法
this可能是几乎所有有一点面向对象思想的语言都会引用到的变量,java自然不例外.只是,this有多少种用法,我也不知道了,让我们来see see. 由简入奢! 易. 来个例子说明下: public ...
- 【MySQL】percona-toolkit工具包
[说明] percona-toolkit工具包同percona-xtrabackup一样都是用Perl写的工具包,percona-toolkit工具包是一组高级的管理mysql的工具包集,可以用来执行 ...
- 【PHP篇】输出方法
php开始处加:error_reporting(E_ALL & ~E_NOTICE); //不打印注意 echo: echo “字符串”; //也可为单引号 echo $变量名; ech ...