中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

網站建設網站軟件有哪些方面深圳網站建設公司

網站建設網站軟件有哪些方面,深圳網站建設公司,wordpress ip更換域名,大氣企業(yè)網站源碼redis只管存不管刪除 讓失效時間刪除的問題一:背景介紹二:思路&方案三:代碼模擬1.錯誤示范通過班級id查詢課程名稱執(zhí)行結果通過班級id修改課程名稱(并沒有刪除對應緩存)執(zhí)行結果2.正確示范在錯誤示范的更新接口上添…

redis只管存不管刪除 讓失效時間刪除的問題

  • 一:背景介紹
  • 二:思路&方案
  • 三:代碼模擬
    • 1.錯誤示范
      • 通過班級id查詢課程名稱
      • 執(zhí)行結果
      • 通過班級id修改課程名稱(并沒有刪除對應緩存)
      • 執(zhí)行結果
    • 2.正確示范
    • 在錯誤示范的更新接口上添加刪除緩存的代碼
  • 四:總結
  • 五:升華

一:背景介紹

本篇博客是對項目開發(fā)中出現(xiàn)的redis只管存不管刪除 讓失效時間刪除的問題進行的總結和改進。目的是將經歷轉變?yōu)樽约旱慕涷?。通過博客的方式分享給大家,大家一起共同進步和提高。

在這里插入圖片描述
代碼邏輯

  1. 通過redis查詢該課程下所有班級的信息
  2. 如果沒有從redis中查詢到數(shù)據(jù)就從數(shù)據(jù)庫中查詢并存入到redis中一份

存在的問題
3. 并沒有在更新課程下班級數(shù)據(jù)的時候刪除緩存,會導致如果我更新了該課程下的班級數(shù)據(jù),會導致緩存中的數(shù)據(jù)與數(shù)據(jù)中的數(shù)據(jù)不一致,當我再次查詢數(shù)據(jù)的時候,如果我的key鍵沒有過期會直接從redis中查詢數(shù)據(jù),但是查詢的數(shù)據(jù)是沒有更新之前的數(shù)據(jù)。如果我key鍵正好過期了才會從數(shù)據(jù)庫中查詢最新的數(shù)據(jù),并更新到緩存中。

二:思路&方案

保證緩存數(shù)據(jù)與數(shù)據(jù)庫中數(shù)據(jù)同步的方案。

  1. 查詢的時候如果緩存存在則從緩存中獲取,如果緩存不存在則從數(shù)據(jù)庫中獲取數(shù)據(jù),并將獲取到的數(shù)據(jù)存儲在緩存中。
  2. 更新數(shù)據(jù)的時候刪除緩存。

三:代碼模擬

通過java maven項目模擬redis只管存不管刪除 讓失效時間刪除的問題 進行錯誤示范正確示范

代碼環(huán)境:java maven項目、mysql,redis
pom.xml文件

 <dependencies><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>3.3.0</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.16</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.20</version><scope>compile</scope></dependency></dependencies>

1.錯誤示范

通過班級id查詢課程名稱

package org.example.controller;import org.example.dao.UserInfoDao;
import org.example.entity.CourseConfiguration;
import redis.clients.jedis.Jedis;/*** @author : [WangWei]* @version : [v1.0]* @className : UserInfoController* @description : [描述說明該類的功能]* @createTime : [2022/11/30 11:43]* @updateUser : [WangWei]* @updateTime : [2022/11/30 11:43]* @updateRemark : [描述說明本次修改內容]*/
public  class SelectCourseNameByClassId {/** @description:通過班級id查詢課程名稱* @author: wangwei* @date: 2023/3/4 14:24* @param: [args]* @return: void**/public static void main(String[] args) {//構造jedis,連接redis 并設置超時時間為100秒,在jedis的默認構造方法中,超時的時間一般被默認設置為2000毫秒,也就是2秒。Jedis jedis=new Jedis("ip",端口號,100000);jedis.auth("密碼");CourseConfiguration courseConfiguration=null;//查詢redisString courseName = jedis.get("WangWei:ClassId");if(courseName==""||courseName==null){//從數(shù)據(jù)庫中查詢UserInfoDao userInfoDao=new UserInfoDao();courseConfiguration = userInfoDao.selectCourseNameByClassId(55801751);//存入redis 并設置過期時間60秒jedis.set("WangWei:ClassId",courseConfiguration.getCourse_name());jedis.expire("WangWei:ClassId",60);System.out.println(courseConfiguration.getCourse_name());}else {System.out.println(courseName);}}}

執(zhí)行結果

在這里插入圖片描述

通過班級id修改課程名稱(并沒有刪除對應緩存)

package org.example.controller;import org.example.dao.UserInfoDao;
import org.example.entity.CourseConfiguration;
import org.example.utils.RedisConfig;
import redis.clients.jedis.Jedis;/*** @author : [WangWei]* @version : [v1.0]* @className : UpdateCourseNameByClassId* @description : [描述說明該類的功能]* @createTime : [2023/3/4 14:26]* @updateUser : [WangWei]* @updateTime : [2023/3/4 14:26]* @updateRemark : [描述說明本次修改內容]*/
public class UpdateCourseNameByClassId {/** @description:通過通過班級id修改班級名稱* @author: wangwei* @date: 2023/3/4 14:27* @param: [args]* @return: void**/public static void main(String[] args) {//修改班級名稱UserInfoDao userInfoDao=new UserInfoDao();userInfoDao.updateCourseNameByClassId(55801751,"ARPro計算機思維課程-開發(fā)班課");//        //連接redis
//        Jedis jedis=new Jedis("82.157.199.3",6379,100000);
//        jedis.auth("000415");
//        //刪除key鍵
//        jedis.del("WangWei:ClassId");System.out.println("修改成功!");}
}

執(zhí)行結果

在這里插入圖片描述
這個時候我們再執(zhí)行 通過班級id查詢課程名稱的接口由于WangWei:ClassId這個key鍵還沒有過期,會發(fā)現(xiàn)查詢的還是之前沒有修改的課程名稱。數(shù)據(jù)出現(xiàn)不一致。

在這里插入圖片描述

當key鍵WangWei:ClassId過期時由于查詢的是數(shù)據(jù)庫中的數(shù)據(jù),所以數(shù)據(jù)是一致的。
在這里插入圖片描述

2.正確示范

  1. 查詢的時候如果緩存存在則從緩存中獲取,如果緩存不存在則從數(shù)據(jù)庫中獲取數(shù)據(jù),并將獲取到的數(shù)據(jù)存儲在緩存中。
  2. 更新數(shù)據(jù)的時候刪除緩存。

在錯誤示范的更新接口上添加刪除緩存的代碼

package org.example.controller;import org.example.dao.UserInfoDao;
import redis.clients.jedis.Jedis;/*** @author : [WangWei]* @version : [v1.0]* @className : UpdateCourseNameByClassId* @description : [描述說明該類的功能]* @createTime : [2023/3/4 14:26]* @updateUser : [WangWei]* @updateTime : [2023/3/4 14:26]* @updateRemark : [描述說明本次修改內容]*/
public class UpdateCourseNameByClassId {/** @description:通過通過班級id修改班級名稱* @author: wangwei* @date: 2023/3/4 14:27* @param: [args]* @return: void**/public static void main(String[] args) {//修改班級名稱UserInfoDao userInfoDao=new UserInfoDao();userInfoDao.updateCourseNameByClassId(55801751,"ARPro計算機思維課程-開發(fā)班課");//連接redisJedis jedis=new Jedis("82.157.199.3",6379,100000);jedis.auth("000415");//刪除key鍵jedis.del("WangWei:ClassId");System.out.println("修改成功!");}
}

通過以上的緩存同步測試,就可以保證緩存中的數(shù)據(jù)與實際數(shù)據(jù)庫中的數(shù)據(jù)保持一致。

四:總結

1.出現(xiàn)這次redis只管存不管刪除的問題,在于對于redis在實際項目中的使用不夠熟悉了解,不清楚緩存同步的策略。推薦需要對redis參照官網進行系統(tǒng)性的學習,以及與其他高人進行討論交流。
2.其實對于此次問題,如果沒有遇到這個案例,自己也很有可能會同樣的獲取,由于自己本身對于redis的使用沒有涉及到,以及考慮到redis緩存同步。

五:升華

通過這次的案例分析,對于認知上需要提升的點,自己也有了針對性提升對于知識認知上的方式方法。如思維導圖,三篇讀數(shù)法,參照官網對例如redis進行快速瀏覽,通過思維導圖宏觀了解,提升認知,不怕不知道就怕不知道。

http://www.risenshineclean.com/news/30663.html

相關文章:

  • 湖南住房和城鄉(xiāng)建設廳網站首頁優(yōu)化網站怎么真實點擊
  • 男女做a視頻網站seo1搬到哪里去了
  • wordpress 網站日志天門seo
  • 福建省住建廳建設網站競價培訓班
  • 手機網站開發(fā)學習免費單頁網站在線制作
  • 可以用足球做的游戲視頻網站好的競價賬戶托管外包
  • 常規(guī)做網站要在工信部認證嗎網站建立
  • 適合個人做的網站有哪些東西嗎百度權重批量查詢
  • 英語機構網站建設方案足球進球排行榜
  • 做網站的困難windows優(yōu)化大師會員兌換碼
  • 做網站學什么專業(yè)防惡意點擊軟件
  • 南寧網站建設設計制作今日最新抗疫數(shù)據(jù)
  • 做代購有哪些網站有哪些seo優(yōu)化培訓課程
  • 做聊天網站的視頻教程怎么進行網站關鍵詞優(yōu)化
  • wordpress主題如何修改seo優(yōu)化設計
  • 做網站需要注意的點抖音seo供應商
  • 山西成寧做的網站運營推廣渠道有哪些
  • wordpress下載站源碼營銷推廣公司案例
  • 安徽建筑大學學工在線網站蘇州網站制作推廣
  • 廣西代理網站建設公司百度網址提交入口
  • 做網站建設站長工具櫻花
  • 甘肅網站建設制作商競價賬戶托管公司
  • 網站開發(fā)集成環(huán)境seo優(yōu)化工作怎么樣
  • 網站建設招標評分標準福州網站制作推廣
  • wordpress的數(shù)據(jù)庫在那里關鍵詞優(yōu)化建議
  • dw怎么做網站輪播圖企業(yè)宣傳方式有哪些
  • 網站備案 太煩個人免費域名注冊網站
  • 企業(yè)網站建設與維護運營愛站網能不能挖掘關鍵詞
  • 徐州哪家做網站好網站的seo方案
  • 海城網站制作建設高效統(tǒng)籌疫情防控和經濟社會發(fā)展