点赞和点踩使用redis如何降低数据库压力

点赞和点踩使用redis如何降低数据库压力,第1张

你可以把这两个属性按key-value存储到redis中,可以使用redis的incr方法。例如:redis.incr("zan")和redis.incr("cai")这个方法是原子性增加的,是线程安全的,如果之前存在zan和cai会自动加1,如果不存在会自动保存并加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

}


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

原文地址: http://outofmemory.cn/sjk/6777301.html

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

发表评论

登录后才能评论

评论列表(0条)

保存