php使用redis做缓存,php 使用 redis 的缓存实例

本篇文章给大家分享的内容是php 使用 redis 的缓存实例,有着一定的参考价值,有需要的朋友可以参考一下

最近刚开始研究redis,就写了一个php 使用 redis 的缓存小实例,不喜勿喷

大致思路如下:

主要对新闻进行缓存

首先判断如果是第一次访问,则查询数据库,并存入redis;如果不是,则直接从redis中读取数据

我设置了一个inner来判断是否为第一次访问,并且设置了inner的有效期是60秒(例如新闻需要实时)

具体代码如下:<?php

//实例化redis

$redis = new \Redis();

//连接redis

$redis->connect('127.0.0.1',6379);

$redis->auth('12345');

if($redis->get('inner')=='yes' || !$redis->get('inner')){

//第一次进入,需要缓存

//连接数据库进行查询

$db = new mysqli('127.0.0.1','root','root','table');

$sql = "select * from newsinfo";

$res = $db->query($sql);

while($new = mysqli_fetch_assoc($res)){

$news[] = $new;

}

//将数据存入redis的list中

$json=json_encode($news);

$redis->del('news');//把键值删除,防止重复

$redis->lPush('news', $json);

$redis->set('inner', 'no',60); //设置键值有效期为60秒

}else{

//从redis中取出数据

$json=$redis->lRange('news', 0, -1);

$news=json_decode($json[0],true);

}

?>

redis缓存实例

<?php foreach ($news as $k => $v) { ?>

<?php echo $v['title']; ?>

在直接访问数据库时的反应时间为

1dcd5c24e461fe44ad3050086a5d62d3.png

而第二次访问反应时间为

16c119f686b197879abbac908b7e2737.png

反应时间明显减少了

相关推荐:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值