好记性不如烂笔头,记录一下C#缓存使用的情景模式。。。。我的理解,不正之处,欢迎指正数据库
讨论 Cookie,Session,Application,Cache 四种,有的缓存情景对人,有的缓存情景对事儿。Cookie,Session对人,每一个客户端为主体(公交车上的乘客)。。Application,Cache对事儿,以对象为主体(公交车)缓存
虽然以前写了Redis了,可是适合项目才是最正确的。 ( 存在即合理 ——鲁迅)安全
一:Cookie服务器
储存在客户端上的缓存,在没有通过骚操做特殊处理的话,很不安全 我用Cookie存储了帐号密码,那么别人就有到我帐号的风险。。建议 把帐号和密码用本身独特方式加密一下,搞点骚东西进去 安全第一。微信
总结Cookie缓存做用于客户端本身相对独立的数据,跟server端交互不频繁的数据(用户名,密码 ヽ(ー_ー)ノ )加密
二:Sessionspa
储存在服务端上的缓存,既然存在服务端,就会占用服务器资源啦 仁者见仁。 相对来讲,是安全的,在微信环境,阿里沙箱环境里是可使用的(会自动生成一个 Session Key ,你每次取值的时候,客户端和服务端都会Key值比较。。。因此Session只能你本身用)。 使用它能够存用户操做的数据,好比我不想把这个数据写入数据库,可是我还得使用它,或者说我在一个页面停留有痕迹信息,一个小时后我在进来,依然可使用这个信息。不想存库的话,用Session很好解决。过时时间,本身考虑。。。┗( ▔, ▔ )┛server
三:Application对象
对事儿的缓存。。 Key值对应上,谁均可以使用 储存在服务端,特色是永远都不会过时。 使用情景模式:share 缓存 共享,你们均可以使用。 (好比 坐公交车,你们都想知道车上坐的有哪些乘客 在不写数据库的状况下,你怎么知道车上都有谁嘞。Application就是用来解决这个问题的,上车一我的就存,下车就删了)。(ಥ_ಥ) 资源
四:Cache
名副其实嘛 功能呢,比Application全面一点。举例子:Application没有过时时间限制,这个公交车发车了,空车它也跑,一直跑。。钢铁直男!直到服务重启,宕机,在我看来吧,就是个铁憨憨。( ̄ェ ̄;) 不喜欢。。cache就是升级版,能够设置过时时间。。使用很方便,跟Application不一样的是,当要加入的缓存项已经在Cache中存在时,Insert将会覆盖原有的缓存项目,而Add则不会修改原有缓存项。。使用更方便 (✪ω✪)