整合Redis(SpringBoot)

整合步驟:

第一步:添加依賴

<dependency>
      <groupId>redis.clients</groupId>
      <artifactId>jedis</artifactId>
</dependency>

第二步:添加全局配置文件

    private JedisPool jedisPool;


    public void initPool(String host, int port, int database){
        JedisPoolConfig poolConfig = new JedisPoolConfig();
        poolConfig.setMaxTotal(200);
        poolConfig.setMaxIdle(30);
        poolConfig.setBlockWhenExhausted(true);
        poolConfig.setTestOnBorrow(true);
        jedisPool = new JedisPool(poolConfig);
    }

    public Jedis getJedis(){
        Jedis jedis = jedisPool.getResource();
        return jedis;
    }
@Configuration
public class RedisConf {
    @Value("${spring.redis.host:disabled}")
    private String host;
    @Value("${spring.redis.port:0}")
    private int port;
    @Value("${spring.redis.database:0}")
    private int database;
    @Bean
    public RedisUtil getRedisUtil(){
        if (host.equals("disabled")){
            return null;
        }
        RedisUtil redisUtil = new RedisUtil();
        redisUtil.initPool(host, port, database);
        return redisUtil;
    }
}
spring.redis.host=localhost
spring.redis.port=6379
spring.redis.database=0

第三步:實現調用

@Override
    public PmsSkuInfo getSkuById(String skuId) {
        PmsSkuInfo pmsSkuInfo = new PmsSkuInfo();
        //1.連接緩存
        Jedis jedis = redisUtil.getJedis();
        //2.查看緩存
        String skuKey = "sku:"+skuId + ":info";
        String skuJson = jedis.get(skuKey);
        //3.如果緩存中沒有, 則查看mysql中(緩存穿透, 雪崩)
        if (StringUtil.isBlank(skuJson)){
            pmsSkuInfo = this.getSkuByIdFromDB(skuId);
            //4.mysql查詢數據保存在redis中
            if (pmsSkuInfo != null){
                String json = JSON.toJSONString(pmsSkuInfo);
                if (!StringUtil.isBlank(json)){
                    jedis.set(skuKey, json);
                }
            }
        }else{
            pmsSkuInfo = JSON.parseObject(skuJson, PmsSkuInfo.class);
        }
        jedis.close();
        return pmsSkuInfo;
    }

第四步:安裝redis

下載:http://download.redis.io/releases/redis-5.0.8.tar.gz

  • 解壓:tar zxvf redis-4.0.10.tar.gz
  • 移動到: mv redis-4.0.10 /usr/local/
  • 切換到:cd /usr/local/redis-4.0.10/
  • 編譯測試 sudo make test
  • 編譯安裝 sudo make install

啓動:redis-server

後臺啓動方式: redis-server &

新建一個終端窗口,輸入命令行redis-cli

 

命令 用途

set key value 設置 key 的值

get key 獲取 key 的值

exists key 查看此 key 是否存在

keys * 查看所有的

key flushall 消除所有的 key

注意: linux默認遠程不可以登錄redis, 所以可以不用設置密碼;

 

第五步:啓動SpringBoot項目

end;


 


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章