啊湫----今天做項(xiàng)目遇到的redis緩存問題---解決方案

演示緩存問題

在進(jìn)行 前端某個(gè)功能更新時(shí) 傳遞的參數(shù) 問題 導(dǎo)致 緩存儲(chǔ)存 覆蓋 只緩存到 傳遞參數(shù)的 值

image

更新完畢后 進(jìn)行 存儲(chǔ)到redis當(dāng)中 只存入了 當(dāng)前這個(gè)不可以屬性和一個(gè)id 其它的參數(shù)值 u覆蓋默認(rèn)為 空 ' null '

image

緩存儲(chǔ)存 覆蓋


image.png

解決辦法

一、進(jìn)行使用糊涂(Hutool) 工具進(jìn)行解決

問題: 當(dāng)前端某個(gè)功能 提交數(shù)據(jù) 但是數(shù)據(jù)不全 導(dǎo)致存儲(chǔ)到緩存 獲取到的數(shù)據(jù) 缺失

先進(jìn)行根據(jù)傳遞來的 id 查詢出 對應(yīng)的對象

Provider selectById = this.providerMapper.selectById(provider.getId());

在進(jìn)行使用糊涂工具 進(jìn)行 覆蓋

把不為空的屬性 覆蓋到 selectById 合并成一個(gè) 完整的數(shù)據(jù)集

-- 參數(shù)一為 傳遞來的對象 參數(shù)二為 被覆蓋對象

BeanUtil.copyProperties(provider, selectById, CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true));

最后進(jìn)行更新

this.providerMapper.updateById(provider);

在返回緩存 即可

return this.providerMapper.selectById(provider.getId());

========================================================

方案2

先執(zhí)行更新 可在返回時(shí)進(jìn)行查詢一邊

this.providerMapper.updateById(provider);
return this.providerMapper.selectById(provider.getId());

代碼演示

image

這個(gè)bug有點(diǎn)小難受
下次再見 拜拜!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 懶得處理樣式了, 將就著看吧. 官網(wǎng)地址: https://developer.android.com/topic...
    Reddington_604e閱讀 1,920評(píng)論 0 1
  • 函數(shù)和對象 1、函數(shù) 1.1 函數(shù)概述 函數(shù)對于任何一門語言來說都是核心的概念。通過函數(shù)可以封裝任意多條語句,而且...
    道無虛閱讀 4,950評(píng)論 0 5
  • 紫砂柴燒作品,公道與主人杯,柴燒效果不錯(cuò),紫砂器泡茶己近完美,進(jìn)而柴燒,亦可為茶器之絕妙也!
    妙喜文人紫砂閱讀 159評(píng)論 0 0
  • 世界這么大,你想去哪看看?世界這么大,有你向往的城市嗎?世界這么大,你去過的地方讓你記憶深刻的城在哪里? 世界真的...
    小小小野閱讀 338評(píng)論 0 1
  • 我這么年輕,可我的內(nèi)心卻總是潮濕的、失望的。漫長的黑夜,凄美的季節(jié),坐在路卡,如往常一樣熟練般的點(diǎn)燃一根煙,...
    東方軒洛閱讀 364評(píng)論 0 7

友情鏈接更多精彩內(nèi)容