1. 程式人生 > >Spring boot中使用Redis實現快取功能

Spring boot中使用Redis實現快取功能

1. Redis簡介

Redis是一個開源的使用ANSI C語言編寫、支援網路、可基於記憶體亦可持久化的日誌型、Key-Value資料庫,並提供多種語言的API。

Redis 可以儲存鍵與5種不同資料結構型別之間的對映,這5種資料結構型別分別為String(字串)、List(列表)、Set(集合)、Hash(雜湊)和 Zset(有序集合)。 (詳細API請自行搜尋)

2. Redis安裝

1.下載地址
2.如何修改IP及Port

開啟檔案目錄,編輯配置檔案(windows版) 在這裡插入圖片描述 在這裡插入圖片描述 安裝完成,cmd啟動Redis 在這裡插入圖片描述

3.Redis視覺化工具

我是用的是Redis Desktop Manager 0.9.3 下載地址

https://github.com/uglide/RedisDesktopManager/releases/download/0.9.3/redis-desktop-manager-0.9.3.817.exe

4.專案中配置Redis

1.yml配置檔案
spring:
  redis:
    host: xxx                         # redis連線地址
    port: 6379                                   # 連線埠
    password: xxx                             # 密碼
    database: 0                                  # 指定連線庫

可以根據不同型別的快取,選擇連線庫,Redis預設從0-15共16個連線庫。

2.配置類
@Configuration
@EnableCaching
public class RedisConfig extends CachingConfigurerSupport {
    /**
     注入RedisConnectFactory
     */
    @Autowired
    RedisConnectionFactory factory;
    /**
     例項化RedisTemplate物件
     */
    @Bean(name = "redisTemplate")
    public RedisTemplate<String,Object> functionDomainRedisTemplate(){
        RedisTemplate<String,Object> redisTemplate=new RedisTemplate<>();
        initDomainRedisTemplate(redisTemplate,factory);
        return redisTemplate;
    }
    /**
     設定資料存入redis的序列化方式
     @Param redisTemplate
     @Param RedisConnectionfactory
     */
    private void initDomainRedisTemplate(RedisTemplate<String, Object> redisTemplate, RedisConnectionFactory factory) {
        //序列化方式
        redisTemplate.setKeySerializer(new StringRedisSerializer());
        redisTemplate.setHashKeySerializer(new StringRedisSerializer());
        redisTemplate.setHashValueSerializer(new JdkSerializationRedisSerializer());
        redisTemplate.setValueSerializer(new JdkSerializationRedisSerializer());
        redisTemplate.setConnectionFactory(factory);
    }
}