整合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;


 


 

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