返回鞋图博客.. 返回首页 - 返回博客
 正在读取数据....
 正在读取数据....
注册 | 登陆  
正在读取图片信息
正在读取数据..
正在读取签名信息...
活力地带
我的首页 给我留言
文章列表 我的相册
我的文章分类
正在下载列表...
我的相册分类
正在下载列表...
 
显示网站内容
照顾效率和正确性的cache
发布时间:2006-11-8 23:10:41

    今天上午,解决了文章的分页,利用服务器的存储过程,将符合条件的记录总数,读出!第一次读出的时候,将结果写入Cache,然后在IIS没有重启的情况下,整个站点的人,都可以共享这个记录数!
    好处:
    1.减少SQLServer的读取压力!
    2.利用Cache,可以最大程度的提高程序的运行效率!
    带来的问题:
    1.增加了代码的服杂度!
    2.Cache在数据更新的时候,需要重新从数据库中读一次!
    3.在传递where条件的时候,由于记录每一次都不一样,所以Cache缓存的记录,会不一致!

    程序就是这个样子,用了一个新的方法,虽然可以解决一个问题!但是同样,他也会带来新的问题!在效率与正确性之间,全部都要照顾到!
    我做以下解决方案:
    1.在 Modal层,建立Cache对象,管理所有站点中有用到的Cache名称,避免重复!为了使效率最高,将 HashTable 对象,存入cache,这样,每一次读入的时候,不用循环一次!
    2.Cache[对象]存入一个HashTable,将每一次传入的参数 作为Key,然后将得到的结果作为 value,最后将这一组数据,存入cache!
    3.在第二次读入的时候,需要检查cache,如果有的话,就读入!否则,就写一条!并更新记录!
    4.特别需注意的是:在增加,删除的时候,必须要对此 cache[对象].Remove().此目的是将数据库中记录和条件记录数同步!

在线评论
签写评论 (请您发言时务必尊重网上道德与我国相关法律法规)
昵 称:
主 页:
验证码: (不分大小写) (*)
内 容: 1000字以内(*)
 
鞋图天下BLOG意见反馈-不良信息反馈 电话:0577-88309311 欢迎批评指正
鞋图天下 2001-2008