C# 中数据缓存总结

在C#尝试了5种方法进行数据缓存,具体如下:
(如有遗漏,错误欢迎大家指正,欢迎提建议。)
1:Session方法:此方法是针对于每个用户来的,如果用户量比较大,那么建议不要采用此方法,否则会大量耗尽服务器资源。
2:Cache方法:
    2.1:对于每个用户来说访问的数据最好是一致的,否则要用不同的key标识不同的缓存。 (要缓存的数据至少也是按用户类型来分的,如果每个用户可以按条件检索得到不同的数据的话,即使不造成数据混乱, 估计也跟session没什么区别了,用户很多的话太耗服务器资源)。
     2.2:如果每个用户得到的数据都不同,而且用户数量较多,应该考虑往客户端存了。
    2.3:需要考虑当生成缓存后,如果数据库中的数据发生变化了。而造成用户得不到最新的数据的问题。(可参考:"数据库缓存相关性"的文章)
3:往客户端写文件
首先A页面在运行的时候,从数据库中取到了数据集,在显示出数据报表的同时,A页面将数据集转化为xml文件,写入客户端。客户如果要打印该报表,那么程序就从客户端取存入的xml文件,如果xml文件存在,就从中读取数据并显示成打印报表显示出来。如果xml文件不存在,就提示重新检索数据。
例如:
<script type=text/javascript>  //给客户机上写文件
    function ws()
    {
       var fso,ctf;
       fso = new ActiveXObject("Scripting.FileSystemObject"); //IE的安全设置里面需要把没有标记为安全的ActiveX控件和脚本设置
        为“启用”,才不会提示。
       ctf = fso.CreateTextFile("c:\\luiTestfile.txt",true);//true为可以覆盖原有文件      
       ctf.Write("write content in file");
       ctf.Close();       
    }
</script>
但是,每次操作客户端的文件,系统都会提示是否运行没有标识的ActiveX控件,用户点否就不能成功保存文件了。
4:用cookie来存储
--------------------写cookie----------------------------------------
HttpCookie myCookie = new HttpCookie("DateCookie_lui");//DateCookie_lui为要创建的cookie键值对的键名。
DateTime now = DateTime.Now;
myCookie.Value = now.ToString();//给此cookie赋值
myCookie.Expires = now.AddMinutes(1);//设置cookie的过期日期和时间(此为1分钟后过期),在客户再次访问服务 器同时附带cookie文件,如其中以这个名字的cookie过期,就会自动清除它。
this.Response.SetCookie(myCookie);//将此cookie写入客户端
--------------------读cookie----------------------------------------
HttpCookie myCookie = new HttpCookie("myTestCookie_lui");//创建一个cookie操作对象
myCookie = Request.Cookies["DateCookie_lui"];//得到客户端传来的cookie数据,DateCookie_lui为要取的cookie键值对的键名
if(myCookie != null)
Response.Write(" Cookie Name is:"+myCookie.Name+". Cookie Value is:"+myCookie.Value);
else
Response.Write(" Not found!");
用cookie的方法存储数据,经过我反复尝试发现cookie存储值的大小被限定,(每项仅可存汉字仅1686个,字母或数字仅5059个),且cookie文件的大小一旦超过大小(20kb左右)就会导致找不到页面的错误,且每个cookie文件中只能存20项键值对。
5:尝试在A页面把dataset转化为xml字符串,隐藏于页面中,post提交到B页面;在B页面取到该xml字符串,然后将xml字符串转化为dataset,生成报表。
将dataset转化为xml的字符串:
 vDataXmlStr=ds.GetXml();//得到数据集的xml字符串
 this.hidXmlStr.Value=vDataXmlStr;//存入页面的隐藏元素中
------------------------------------------------------------------------
将xml字符串转化为dataset:
 vXmlStr = Request.Form["hidXmlStr"].ToString();//取xml字符串的变量值
 System.IO.StringReader vSR = new System.IO.StringReader(vXmlStr);//读取字符串
 ds.ReadXml(vSR);//将xml读入dataset中

转载于:https://www.cnblogs.com/ASPXML/archive/2011/09/07/2170186.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/275282.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

react 引入 mobx @babel/core: 7.2.2

为什么80%的码农都做不了架构师&#xff1f;>>> yarn add babel/plugin-proposal-class-propertiesyarn add babel/plugin-proposal-decorators"babel": {"plugins": [["babel/plugin-proposal-decorators", {"legacy": …

面试官问:怎么自动检测你使用的组件库有更新

大家好&#xff0c;我是若川。最近组织了源码共读活动&#xff0c;感兴趣的可以加我微信 ruochuan12本文来自V同学投稿的源码共读第六期笔记&#xff0c;写得很有趣。现在已经进行到第十期了。你或许经常看见 npm 更新的提示。npm 更新提示面试官可能也会问你&#xff0c;组件库…

设计模式完整备忘录

小言&#xff1a;这不是设计模式讲解型博文&#xff0c;以下将设计模式的概述、类图&#xff0c;代码示例&#xff0c;总结分每篇博文单独展示&#xff0c;现将其归类&#xff0c;便于以后翻阅&#xff0c;设计模式也不是一两个月学完了就能完全领悟&#xff0c;它只告诉我们几…

使用Microsoft Web Application Stress Tool对web进行压力测试

你的Web服务器和应用到底能够支持多少并发用户访问&#xff1f;在出现大量并发请求的情况下&#xff0c;软件会出现问题吗&#xff1f;这些问题靠通常的测试手段是无法解答的。本文介绍 了Microsoft为这个目的而提供的免费工具WAS及其用法。另外&#xff0c;本文介绍了一种Web应…

2021前端高频面试题整理,附答案

大家好&#xff0c;我是若川。最近组织了源码共读活动&#xff0c;感兴趣的可以加我微信 ruochuan12若川视野原意是若川的前端视野。但太长了就留下了四个字&#xff0c;不知道的以为关注的不是技术公众号。今天分享一篇慕课网精英讲师河畔一角的好文章~废话不多说&#xff0c;…

OO第二单元作业小结

总结性博客作业 第一次作业 (1)从多线程的协同和同步控制方面&#xff0c;分析和总结自己三次作业的设计策略。 第一次作业为单电梯傻瓜调度&#xff0c;可以采用生产者——消费者模型&#xff0c;是一个有一个生产者&#xff08;标准输入电梯请求&#xff09;&#xff0c;一个…

dribbble加速vpn_关于Dribbble设计的几点思考

dribbble加速vpn重点 (Top highlight)I’d like to start with the following quote from Paul Adam’s “The Dribbbilisation of Design,” a powerful read that examines the superficiality of modern product design portfolios, often containing Dribbble posts that l…

JS Compress and Decompress

<html><head><title>JavaScript字符串之压缩与还原</title><meta http-equiv"Content-Type"content"text/html; charsetutf-8"/><script type"text/javascript"><!--/** * 压缩 */functionCompress(strN…

尤雨溪推荐神器 ni ,能替代 npm/yarn/pnpm ?简单好用!源码揭秘!

1. 前言大家好&#xff0c;我是若川。最近组织了源码共读活动&#xff0c;感兴趣的可以加我微信 ruochuan12想学源码&#xff0c;极力推荐之前我写的《学习源码整体架构系列》jQuery、underscore、lodash、vuex、sentry、axios、redux、koa、vue-devtools、vuex4、koa-compose、…

如何了解自己的认知偏差_了解吸引力偏差

如何了解自己的认知偏差Let me introduce you the attractiveness bias theory known as cognitive bias.让我向您介绍称为认知偏差的吸引力偏差理论。 Think about a person with outstanding fashion. It will draw our attention, and maybe encourage us to interact with…

隐马尔可夫模型(HMM)及Viterbi算法

HMM简介 对于算法爱好者来说&#xff0c;隐马尔可夫模型的大名那是如雷贯耳。那么&#xff0c;这个模型到底长什么样&#xff1f;具体的原理又是什么呢&#xff1f;有什么具体的应用场景呢&#xff1f;本文将会解答这些疑惑。  本文将通过具体形象的例子来引入该模型&#xf…

尤大直播分享:vue3生态进展和展望

大家好&#xff0c;我是若川。最近组织了源码共读活动&#xff0c;感兴趣的可以加我微信 ruochuan12前言10月23日&#xff0c;参加了前端早早聊组织的【vue生态专场】&#xff0c;准备写一波分享方便大家学习。早上有4个话题&#xff1a;volar开发&#xff0c;搭建平台组件开发…

利用Python查看微信共同好友

思路 首先通过itchat这个微信个人号接口扫码登录个人微信网页版&#xff0c;获取可以识别好友身份的数据。这里是需要分别登录两人微信的&#xff0c;拿到两人各自的好友信息存到列表中。 这样一来&#xff0c;查共同好友就转化成了查两个列表中相同元素的问题。获取到共同好友…

女生适合学ux吗_UX设计色彩心理学,理论与可访问性

女生适合学ux吗Colour is an interesting topic, which I feel is often overlooked and sometimes under-appreciated. One of the first things I was taught was the power of colour, how it can have an impact on human emotion, and that there should be purpose behin…

初学者也能看懂的 Vue2 源码中那些实用的基础工具函数

1. 前言大家好&#xff0c;我是若川。最近组织了源码共读活动&#xff0c;感兴趣的可以加我微信 ruochuan12想学源码&#xff0c;极力推荐之前我写的《学习源码整体架构系列》jQuery、underscore、lodash、vuex、sentry、axios、redux、koa、vue-devtools、vuex4、koa-compose、…

清除浮动mini版

1&#xff09; 清除浮动mini版(简约而不简单).clr:after { content:"";display:table;clear:both;}.clr{zoom:1;} 转载于:https://www.cnblogs.com/jinbiao/archive/2011/09/26/2191170.html

Fiddler 十分钟最全使用介绍

Wireshark 、HTTPWatch、Fiddler的介绍 Firebug虽然可以抓包&#xff0c;但是对于分析http请求的详细信息&#xff0c;不够强大。模拟http请求的功能也不够&#xff0c;且firebug常常是需要“无刷新修改”&#xff0c;如果刷新了页面&#xff0c;所有的修改都不会保存。Wiresha…

视觉测试_视觉设计流行测验

视觉测试重点 (Top highlight)I often discuss the topic of improving visual design skills with junior and mid-level designers. While there are a number of design principles the designers should learn and practice, one important skill that is not often consid…

如何给开源项目提过 PR 呢?其实很简单

大家好&#xff0c;我是若川。最近组织了源码共读活动&#xff0c;感兴趣的可以加我微信 ruochuan12源码共读群里有小伙伴聊到如何给开源项目提PR&#xff0c;所以今天分享这篇文章。你有给开源的库或者框架提过 PR 吗&#xff1f;如果没有&#xff0c;那么今天的文章会教你怎么…

一次回母校教前端的经历

大家好&#xff0c;我是若川。最近组织了源码共读活动&#xff0c;感兴趣的可以加我微信 ruochuan12已进行了三个月&#xff0c;很多小伙伴都表示收获颇丰。分享一篇武大毕业的耀耀大佬的文章。有些时候会受限于环境影响&#xff0c;特别是在校大学生。所以要融入到积极上进的环…