如果单是为减小数据库压力建议采用页片断缓存,即缓存页面中部分内容(与数据相关的)。
可以采用Cache类、Session对象和Application对象(后两者很常见,就不多说了)。
而Cache类是提供数据缓存的类,三者类似。
例如要经常读取数据库中一个的内容(销售记录等等)可将其存放一个dataset
首先从数据库读取并填充到一个名为DS的Dateset里(这个不是楼主的问题就不讨论了)
直接Cache("ds")=DS,则实现了将DataSet“存”到Cache("ds")里。
调用则是
首先定义一个新的Dateset 如 DS1
DS1=Cache("ds")即可
利用redis做缓存服务器来缓解数据库查询压力是非常有效也是非常有必要的, 当用户第一次点击页面的时候查询数据库, 然后将查询结果缓存在redis服务器中,缓存时间随你的数据改变时间而定,这样可大大降低数据库压力;下面是具体函数方法;
public function getSqlVal(){
//获取参数列表,这个参数随你需求而定,一般可能需要传入dbname,查询方式如fetchAll,查询语句等
$argv = func_get_args();
//假设这里现在只传入dbName和sql语句
$dbName = $argv[0];
$sql = $argv[1];
//现在把这个参数列表转成md5之后作为存redis的key值
$md5SqlKey = MD5(serialize($argv));
//下面通过一个redis函数来进行存取数据
$res = getRedisData($md5SqlKey);
//如果取到数据,说明已经缓存在redis服务器中, 直接取数据就好, 如果没有数据, 则再去数据库查询数据,再讲查询的数据存在redis服务器中
if(!empty($res)) {
return $res;
}
//后面是查询数据库 *** 作,查询结果返回在$res中
getRedisData($md5SqlKey,$res); //讲返回结果存在redis中
return $res;
}
public function getSqlVal(){
//获取参数列表,这个参数随你需求而定,一般可能需要传入dbname,查询方式如fetchAll,查询语句等
$argv = func_get_args();
//假设这里现在只传入dbName和sql语句
$dbName = $argv[0];
$sql = $argv[1];
//现在把这个参数列表转成md5之后作为存redis的key值
$md5SqlKey = MD5(serialize($argv));
//下面通过一个redis函数来进行存取数据
$res = getRedisData($md5SqlKey);
//如果取到数据,说明已经缓存在redis服务器中, 直接取数据就好, 如果没有数据, 则再去数据库查询数据,再讲查询的数据存在redis服务器中
if(!empty($res)) {
return $res;
}
//后面是查询数据库 *** 作,查询结果返回在$res中
getRedisData($md5SqlKey,$res); //讲返回结果存在redis中
return $res;
}
以上就是关于asp.net如何将经常访问的数据库表放入缓存中全部的内容,包括:asp.net如何将经常访问的数据库表放入缓存中、redis怎么缓存sql数据、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)