springboot +lettuce +redis 快取使用
springboot 使用的是2.2 redis 使用的版本是3.0下面是相關的程式碼
pom的依賴如下 :
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-pool2</artifactId> </dependency>
然後的配置檔案如下:
server: port: 9015 spring: redis: database: 0 host: localhost port: 6379 password: lettuce: pool: min-idle: 0 max-idle: 8 max-wait: -1m max-active: 20
使用的實體類如下:
import lombok.Data; import java.io.Serializable; @Data public class User implements Serializable { private int id ; private String name; private int age; }
配置類如下:
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer; import org.springframework.data.redis.serializer.StringRedisSerializer; import java.io.Serializable; @Configuration public class RedisConfig { @Bean public RedisTemplate<String, Serializable> redisTemplate(LettuceConnectionFactory connectionFactory) { RedisTemplate<String, Serializable> redisTemplate = new RedisTemplate<>(); redisTemplate.setKeySerializer(new StringRedisSerializer()); redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer()); redisTemplate.setConnectionFactory(connectionFactory); return redisTemplate; } }
呼叫redis的操作類如下:
import com.ext.demolettuce.entity.User; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.io.Serializable; @RestController public class testController { private Logger logger = LoggerFactory.getLogger(testController.class); @Autowired private RedisTemplate<String, Serializable> template; @RequestMapping("/get1") public String getOne(){ String key = "user:1"; User user = new User(); user.setId(1); user.setName("aa"); user.setAge(11); template.opsForValue().set(key, user); User user1 = (User) template.opsForValue().get(key); logger.info("--------------------uesr: "+user1.toString()); return "success"; } }
要注意的是 使用lettuce的時候必須要加 commons-pool2 這個依賴,否則會出現連線錯誤。
歡迎批評指正
相關文章
- springboot註解方式使用redis快取Spring BootRedis快取
- SpringBoot中使用Redis實現快取Spring BootRedis快取
- SpringBoot中Shiro快取使用Redis、EhcacheSpring Boot快取Redis
- SpringBoot整合Redis快取Spring BootRedis快取
- Springboot 整合 SpringCache 使用 Redis 作為快取Spring BootGCRedis快取
- SpringBoot註解使用redis做快取總結Spring BootRedis快取
- SpringBoot快取管理(二) 整合Redis快取實現Spring Boot快取Redis
- SpringBoot使用快取Spring Boot快取
- SpringBoot 註解呼叫Redis快取Spring BootRedis快取
- SpringBoot中整合Redis(快取篇)Spring BootRedis快取
- 介紹SpringBoot 整合 Redis 快取Spring BootRedis快取
- [Redis 客戶端整合] SpringBoot 整合 LettuceRedis客戶端Spring Boot
- 【SpringBoot】結合Redis實現快取Spring BootRedis快取
- 如何使用 Redis 快取Redis快取
- Laravel使用Redis快取LaravelRedis快取
- springboot系列文章之 整合redis 服務 (Lettuce & Jedis)Spring BootRedis
- SpringBoot2.X與redis Lettuce整合踩坑Spring BootRedis
- 15.SpringBoot整合Redis快取實現Spring BootRedis快取
- SpringBoot快取管理(三) 自定義Redis快取序列化機制Spring Boot快取Redis
- springboot整合redis2.x,使用spring註解進行快取Spring BootRedis快取
- Django(39)使用redis配置快取DjangoRedis快取
- 實現SpringBoot + Redis快取的原始碼與教程Spring BootRedis快取原始碼
- Mybatis的二級快取、使用Redis做二級快取MyBatis快取Redis
- 高手如何處理快取:SpringBoot整合Redis實現快取處理(AOP技術)!快取Spring BootRedis
- Redis快取擊穿、快取穿透、快取雪崩Redis快取穿透
- [Redis]快取穿透/快取擊穿/快取雪崩Redis快取穿透
- JAVA快取-Redis入門級使用Java快取Redis
- 使用Redis做為MySQL的快取RedisMySql快取
- SpringBoot+Redis實現介面級別快取資訊Spring BootRedis快取
- Redis快取穿透Redis快取穿透
- WEB 應用快取解析以及使用 Redis 實現分散式快取Web快取Redis分散式
- Redis快取篇(四)快取異常Redis快取
- 為什麼要使用Redis做快取Redis快取
- 優雅的快取解決方案--SpringCache和Redis整合(SpringBoot)快取GCRedisSpring Boot
- SpringBoot+Redis作為二級快取整合的基本DemoSpring BootRedis快取
- Redis快取穿透、快取雪崩、redis併發問題分析Redis快取穿透
- SpringBoot快取管理(一) 預設快取管理Spring Boot快取
- SpringBoot系列——cache快取Spring Boot快取