問題描述我在使用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
提交
取消