linux的cookie存储在哪里,[转载]存储方式:cookie、session、cache、application

概述

1、数据量小,针对不同用户,数据不需要变化的话推荐用Session

2、数据量大,针对所有用户,数据不需要变化推荐用Cache

3、数据量大,针对不同用户,建议使用查询方式

4、如果只是本页要频繁使用的数据就用ViewState可以节省效率。

Cookie

保存在客户端,通过

Expries 设置有效期(可长可短,默认关闭浏览器cookie即失效)。

新建项并赋值

Response.Cookies["ckName"].Value = "Sutdent";

Response.Cookies["ckName"].Expires =

DateTime.Now.AddSeconds(10); // 如果不设置过期时间,默认关闭浏览器该cookie即失效

新建项,为不同子键赋值

Response.Cookies["ckAge"]["boy"] = "25";

Response.Cookies["ckAge"]["girl"] = "22";

Response.Cookies["ckAge"].Expires =

DateTime.Now.AddHours(1);

// Response.Cookies["ckAge"].Expires =

DateTime.Now.AddHours(-1); //

通过设置过期时间来清除cookie

用Response方法保存,用Request方法读取

ckMess.Text = "Name:" + Request.Cookies["ckName"].Value;

ckMess.Text += "

/>Time:"+DateTime.Now+ "

/>Boy:" +

Request.Cookies["ckAge"]["boy"]+"

/>Girl:"+Request.Cookies["ckAge"]["girl"];

cookie加密保存(这里用MD5加密算法举例)

using System.Web.Security;

Response.Cookies["ckName"].Value =

FormsAuthentication.HashPasswordForStoringInConfigFile(Request.Cookies["ckName"].Value,

"md5");

关于cookie的限制条件

cookie 单个文件大小不宜超过4KB,总数量不超过300个,因此总 Cookie 文件大小限制在 1200KB

之内。

其中每个域的 Cookie 不能超过20个。

Session

页面级变量,保存在服务器端,通过 Timeout 设置超时时间(可长可短,默认30分钟)。系统为每位访问者自动分配一个 sessionid(超时重新分配),使之互不影响,生命周期与访问者会话时间相同。

Session["scName"] = string.IsNullOrEmpty(scName.Value)?"default

session string":scName.Value;

Session.Timeout = 11; //

时间单位是分钟

lbSession.Text = Session["scName"].ToString();

通过项名称删除 session

Session.Remove("scName"); // 删除单条session

Session.Clear(); //

清空session

lbSession.Text = "session is clesred, please refreash.";

Cache

应用程序级变量,存于服务器缓存中被所有用户共享,由系统自动分配和回收,使用Cache["name"]==null?判断是否过期。

Cache["number"] = "65464646";

Cache["ca"] = "aaa";

Cache["cb"] = "bbb";

lbNumber.Text +="OldCache value:"+

Cache["number"].ToString();

清空缓存

IDictionaryEnumerator ide = Cache.GetEnumerator();

while (ide.MoveNext())

{

Cache.Remove(ide.Key.ToString());

}

lbNumber.Text += "点击清空后的cache数量:" + Cache.Count;

Application

应用程序级变量,被所有用户共享使用,生命周期与服务器运行时间相同。

ViewState

页面级变量(可以看作页面Session),可保存各种变量。

保存变量到 ViewState

ViewState["number"]=123456;

ViewState["table"]=DataTable; // 存放DataTable、Hashtable…对象

读取 ViewState

times=(int)ViewState["number"];

table=(DataTable)ViewState["table"];

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值