问题描述我在使用python3的redis做缓存是,结构为hset,然当数据达到10000条时,我要对这10000条数据进行入库,此时我删除了redis的hset,这个时候新请求上来的新增不到redis里面,只有在这10000条数据全都入库完毕才会新增到redis里面.问题出现的环境背景及自己尝试过哪些方法中间加临时变量作为过渡(依然失效,或是我的方式不对)相关代码rds.hset(chn_idx, uid, data) # 当下面进入if判断之后,只有入mysql完成后才会有效的新增数据.ualen = int(rds.hlen(chn_idx))if ualen > 10000:
keyData = rds.hgetall(chn_idx)
rds.delete(chn_idx) for uid, infos in keyData.items():
... # 一系列入mysql操作.你期待的结果是什么?实际看到的错误信息又是什么?rds.delete(chn_idx) 后新的请求依然可以新增到redis中,这个hset仅起中间缓存的作用,并且保证数据不会丢失.造成现在这种情况的原因是什么?是hset中的数据太大导致delete需要时间?还是其他原因?
添加回答
举报
0/150
提交
取消