asp.net如何将经常访问的数据库表放入缓存中

asp.net如何将经常访问的数据库表放入缓存中,第1张

如果单是为减小数据库压力建议采用页片断缓存,即缓存页面中部分内容(与数据相关的)。

可以采用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数据、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9831776.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存