Redis緩存処理
1.Redis環境搭建
以docker的形式搭建Redis 服務
docker run ‐di ‐‐name=tensquare_redis ‐p 6379:6379 redis
2.SpringDataRedis
Spring-data-redis是spring大家族的一部分,提供了在srping應用中通過簡單的配置訪問redis服務,對reids底層開發包(Jedis, JRedis, and RJC)進行了高度封裝,RedisTemplate提供了redis各種操作。
3.實現項目的緩存処理
3.1 查詢文章操作緩存
(1)在項目 的pom.xml引入依賴
<dependency>
<groupId>org.springframework.boot</groupId> <artifactId>spring‐boot‐starter‐data‐redis</artifactId> </dependency> (2)脩改application.yml ,在spring節點下添加配置 redis: host: 192.168.184.134 (3)脩改Service 引入RedisTemplate,竝脩改findById方法 @Autowired private RedisTemplate redisTemplate; public Label findById(String id) { //從緩存中提取 Label label=(Label)redisTemplate.opsForValue().get("Label_" id); // 如果緩存沒有則到數據庫查詢竝放入緩存 if(label==null) { label= labelDao.findById(id).get(); redisTemplate.opsForValue().set("label_" id, label); } return label; } 3.2 脩改或刪除後清除緩存 public void update(Label label) { redisTemplate.delete("label_" label.getId() );//刪除緩存 labelDao.save(label); } public void deleteById(String id) { redisTemplate.delete("label_" id );//刪除緩存 labelDao.deleteById(id); } 3.3 緩存過期処理 脩改findById方法 ,設置1天的過期時間 redisTemplate.opsForValue().set("label_" id, label,1,TimeUnit.DAYS); 爲了方便測試,我們可以把過期時間改爲10秒,然後觀察控制台輸出 redisTemplate.opsForValue().set("label_" id, label,10,TimeUnit.SECONDS);
0條評論