Spring boot中使用Redis實現快取功能
阿新 • • 發佈:2018-12-21
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); } }