日期:2014-05-20  浏览次数:20677 次

请教一下动态缓存的问题
之前做autocomplete的时候用户每次输入都会去数据库查找top10,这样如果用户太多的话就会频繁访问数据库, 到时候肯定会有问题,所以想用缓存减少用户访问数据库的次数。我对这块没什么经验,想请教一下大侠们有没有好的建议\思路。补充一下:目前的数据情况下以某个字符开头的数据最多会有1万4左右,但是数据以后可能还会增加

------解决方案--------------------
探讨

To:dalmeeme
我的情况是如果用户很多,每个用户输入的是什么我又不确定,你这样的话怎么实现?而且同一个用户他可以输入a,然后把a删掉输入b。

------解决方案--------------------
使用缓存,要学会使用Cache的Inser方法时设置CacheDependency的技术。给你写个例子,比如:
C# code
public string[] 获取法律法规关键字查询top10(string input)
{
  var key="法律法规查询关键字:"+input;
  var res=HttpRuntime.Cache[key];
  if(res==null)
  {
      res=向数据库查询法律法规关键字top10(input);
      HttpRuntime.Cache.Inser(key,input,null, Cache.NoAbsoluteExpiration, new TimeSpan(0, 10, 0));
  }
  return (string[])res;
}