整合步驟:
第一步:添加依賴
<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;