redis每当过期时的那一秒,会出现一次错误

z

问题描述

if(Redis::exists($key)){
        $data=Redis::get($key);
}else{
        $data='test';
        Redis::set($key,$data,'ex',60);
}

60秒过期后会出现一秒无数据的情况,$data数据来自数据库查询,当过期的时候不会进入else中查询一次,第二次才会进入,这个要怎么处理呢

318 2 0
2个回答

walkor

Redis是基础库,不会有这样的情况,检查下业务逻辑吧

  • 暂无评论
darcy

怎么说呢,我一般是这样应用

$data = Redis::get($key);
if(empty($data)){
$data = Db::table('users')->get();
if(!empty) Redis::set($key, serialize($data),'EX',60);
}

  • 暂无评论
🔝