redis緩存優化


redis緩存優化


一、問題

在Javaweb項目中,如果每次刷新,所有資源都重新從數據庫中讀取,這樣每次效率會很低,在這里可以使用redis非關系型數據庫,將一些不經常變化得資源加載進內存中。提高效率。

二、解決辦法


在准備查詢數據得時候先別從關系型數據庫(例如mysql)中查尋,先從redis中查詢有沒有自己需要得數據,

三、具體操作


public String findAllJson() {
        //1.從redis中查詢數據
        Jedis jedis = JedisPoolUtils.getJedis();
        String province_json = jedis.get("province");
        //判斷province_json的數據是否為null,如果是,從數據庫加載到redis,不是,直接用redis
        if (province_json == null || province_json.length()==0){
            //從數據庫中查找
            List<Province> ps = dao.findAll();
            //將list序列化為json,並存入redis中
            ObjectMapper mapper = new ObjectMapper();
            try {
                province_json = mapper.writeValueAsString(ps);
            } catch (JsonProcessingException e) {
                e.printStackTrace();
            }
            //3.將json數據存入redis中
            jedis.set("province",province_json);
            jedis.close();
        }
        return province_json;
    }

四、注意


  1. 通常使用redis存儲一些不經常變化的數據。
  2. 在執行增刪改操作的時候,需要先將redis中對應的數據刪除,再從數據庫中更新數據


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM