利用缓存技术解决访问统计数据库压力
2009-05-10 13:29
183 查看
cacheVisit cv=new cacheVisit();
cv.sysno=sysno;
cv.reurl=reurl;
cv.ip=GetIpV4AndV6();
cv.moduleclass=moduleclass;
if (Cache["YddVisit"] == null)
{
List<cacheVisit> cvs = new List<cacheVisit>();
cvs.Add(cv);
Cache.Insert("YddVisit", cvs);
}
else
{
List<cacheVisit> cvs = (List<cacheVisit>)Cache["YddVisit"];
if (cvs.Count < 10)
{
cvs.Add(cv);
Cache.Insert("YddVisit", cvs);
}
else
{
List<cacheVisit> cvs2 = (List<cacheVisit>)Cache["YddVisit"];
foreach (cacheVisit cvf in cvs2)
{
if (cvf.reurl == "")
EC.Biz.ICBC.ICBC_Product_DailyClickManager.GetInstance().Add(cvf.sysno, "", cvf.ip, cvf.moduleclass);
else
EC.Biz.ICBC.ICBC_Product_DailyClickManager.GetInstance().Add(cvf.sysno, cvf.reurl, cvf.ip, cvf.moduleclass);
}
Cache.Remove("YddVisit");
}
}
每当有10条时统一更新到数据库,实际应该是拼SQL一次执行比较好些!
cv.sysno=sysno;
cv.reurl=reurl;
cv.ip=GetIpV4AndV6();
cv.moduleclass=moduleclass;
if (Cache["YddVisit"] == null)
{
List<cacheVisit> cvs = new List<cacheVisit>();
cvs.Add(cv);
Cache.Insert("YddVisit", cvs);
}
else
{
List<cacheVisit> cvs = (List<cacheVisit>)Cache["YddVisit"];
if (cvs.Count < 10)
{
cvs.Add(cv);
Cache.Insert("YddVisit", cvs);
}
else
{
List<cacheVisit> cvs2 = (List<cacheVisit>)Cache["YddVisit"];
foreach (cacheVisit cvf in cvs2)
{
if (cvf.reurl == "")
EC.Biz.ICBC.ICBC_Product_DailyClickManager.GetInstance().Add(cvf.sysno, "", cvf.ip, cvf.moduleclass);
else
EC.Biz.ICBC.ICBC_Product_DailyClickManager.GetInstance().Add(cvf.sysno, cvf.reurl, cvf.ip, cvf.moduleclass);
}
Cache.Remove("YddVisit");
}
}
每当有10条时统一更新到数据库,实际应该是拼SQL一次执行比较好些!
相关文章推荐
- 如何利用虚拟化技术解决物联网开发难题?从了解 ACRN 开始
- 利用Squid反向代理搭建CDN缓存服务器加快Web访问速度
- 利用RMI技术开发聊天案例(尚有疑问,待解决!!!)
- 利用WebBrowser网址访问问题及不同操作系统IE本地网络注册表解决
- memcached缓存失效时的高并发访问问题解决
- 还为使用google搜索找不到自己要的技术文章吗?彻底解决访问google域名地址搜索网站间歇访问无法找到服务器的问题
- 如何利用缓存提高asp.net网站访问速度
- 利用压力测试来保证软件的质量(九) 访问违例问题
- 解决$.getJSON在IE浏览器下出现数据缓存,第一次访问某个后台路径之后,再次访问该路径不再走后台的方法。
- 数据库缓存技术在web上的应用以及出现错误的解决方法
- [置顶] 【Linux利用远程SSH连接】SecureCRT中文出现乱码解决办法 Linux服务器技术
- 如何利用虚拟化技术解决物联网开发难题?从了解 ACRN 开始
- HTML5使用ApplicationCache接口实现离线缓存技术解决离线难题
- Web开发中的缓存技术之二:基于访问时间的简单缓存
- 【转】【Java】利用反射技术,实现对类的私有方法、变量访问
- http2.2常用配置(虚拟主机,访问控制,压缩,缓存,压力测试)
- 利用Memcache解决数据库高并发访问的瓶颈问题
- memcached缓存失效时的高并发访问问题解决
- 利用ASA的Twice NAT解决内网无法访问映射后的公网地址 推荐