1. Add dependencies
Add the following dependencies to the file:
<dependencies> <dependency> <groupId></groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> <groupId></groupId> <artifactId>commons-pool2</artifactId> </dependency> </dependencies>
2. Configure Redis connection pool
(I) Configure class through Java
Create a configuration class that defines Redis connection factory and connection pool configuration:
import .; import ; import ; import ; import ; import ; import ; import ; import ; import ; @EnableCaching @Configuration public class RedisConfig extends CachingConfigurerSupport { @Bean public LettuceConnectionFactory redisConnectionFactory() { RedisStandaloneConfiguration redisStandaloneConfiguration = new RedisStandaloneConfiguration(); ("localhost"); (6379); GenericObjectPoolConfig<Object> poolConfig = new GenericObjectPoolConfig<>(); (10); // Maximum number of connections (5); // Maximum number of idle connections (1); // Minimum number of idle connections (2000); // Get the maximum waiting time for the connection LettucePoolingClientConfiguration poolingClientConfig = () .poolConfig(poolConfig) .build(); return new LettuceConnectionFactory(redisStandaloneConfiguration, poolingClientConfig); } @Bean public RedisTemplate<String, Object> redisTemplate() { RedisTemplate<String, Object> template = new RedisTemplate<>(); (redisConnectionFactory()); (new StringRedisSerializer()); (new StringRedisSerializer()); return template; } }
(II) Pass the document
Add the following configuration to the file:
=localhost =6379 =0 -active=10 -idle=5 -idle=1 -wait=-1
3. Test Redis operations
Create a simple controller to test the basic operations of Redis:
import ; import ; import ; import ; import ; @RestController public class RedisController { @Autowired private RedisTemplate<String, Object> redisTemplate; @GetMapping("/set") public String set(@RequestParam String key, @RequestParam String value) { ().set(key, value); return "Value set successfully"; } @GetMapping("/get") public String get(@RequestParam String key) { return (String) ().get(key); } @GetMapping("/delete") public String delete(@RequestParam String key) { (key); return "Value deleted successfully"; } }
4. Complete sample code
(one)
<dependencies> <dependency> <groupId></groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> <groupId></groupId> <artifactId>commons-pool2</artifactId> </dependency> </dependencies>
(two)
import .; import ; import ; import ; import ; import ; import ; import ; import ; import ; @EnableCaching @Configuration public class RedisConfig extends CachingConfigurerSupport { @Bean public LettuceConnectionFactory redisConnectionFactory() { RedisStandaloneConfiguration redisStandaloneConfiguration = new RedisStandaloneConfiguration(); ("localhost"); (6379); GenericObjectPoolConfig<Object> poolConfig = new GenericObjectPoolConfig<>(); (10); // Maximum number of connections (5); // Maximum number of idle connections (1); // Minimum number of idle connections (2000); // Get the maximum waiting time for the connection LettucePoolingClientConfiguration poolingClientConfig = () .poolConfig(poolConfig) .build(); return new LettuceConnectionFactory(redisStandaloneConfiguration, poolingClientConfig); } @Bean public RedisTemplate<String, Object> redisTemplate() { RedisTemplate<String, Object> template = new RedisTemplate<>(); (redisConnectionFactory()); (new StringRedisSerializer()); (new StringRedisSerializer()); return template; } }
(three)
=localhost =6379 =0 -active=10 -idle=5 -idle=1 -wait=-1
(Four)
import ; import ; import ; import ; import ; @RestController public class RedisController { @Autowired private RedisTemplate<String, Object> redisTemplate; @GetMapping("/set") public String set(@RequestParam String key, @RequestParam String value) { ().set(key, value); return "Value set successfully"; } @GetMapping("/get") public String get(@RequestParam String key) { return (String) ().get(key); } @GetMapping("/delete") public String delete(@RequestParam String key) { (key); return "Value deleted successfully"; } }
Summarize
Through the above steps, you have successfully configured the Redis connection pool in Spring Boot. This configuration not only improves the performance of Redis operations, but also ensures efficient utilization of resources.
This is the article about this complete guide to configuring Redis connection pools in SpringBoot. For more information about configuring Redis connection pools in SpringBoot, please search for my previous articles or continue browsing the related articles below. I hope everyone will support me in the future!