今天早上照例看了看服务器上的Redis数据,发现Redis某键名下的数据全为0,然后又查看数据库数据正常。代码如下:
- $info = Db::name("SystemDeviceThreshold")->where(['id'=>$id])->field('id,device_id',true)->find();
- p(json_encode($info)); //打印输出数据txt文件
- Cache::store('redis')->remember('alarm_'.$data['device_id'],$info);
这段代码是放在数据修改部分的,就是当数据发生修改时,重新用新数据更新Redis中的旧数据。于是我尝试修改了一下数据,发现打印输出的txt文件中数据正常,Redis中数据依然为零。
输出txt文件数据:
然后再看Thinkphp5的开发文档,文档中关于remember方法只有一句话:“不存在则写入缓存数据后返回”。难道是键值不存在的时候才会写入数据吗?真是一个好坑啊,本以为这个方法会自动更新缓存数据呢,看来以后看文档得咬文嚼字了。