redis怎么缓存sql数据

redis怎么缓存sql数据,第1张

利用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;

}

伪代码如下,思路也清晰。

读写部分

if(redis){

读取redis数据

}else{

数据库读取,存redis+设置超时时间

}

更新部分

if(数据库update){

更新redis+设置超时时间

}

以上就是关于redis怎么缓存sql数据全部的内容,包括:redis怎么缓存sql数据、redis缓存中的数据怎么更新、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存