Home  >  Article  >  Database  >  How to configure Redis high concurrency cache in SpringBoot

How to configure Redis high concurrency cache in SpringBoot

WBOY
WBOYforward
2023-05-27 14:26:271507browse

1.Introduce dependencies

 <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-data-redis</artifactId>
 </dependency>

2.Configure

#启动redis
#redis的数据库索引(默认为0)
spring.redis.database=2
#redis的服务器地址
spring.redis.host=127.0.0.1
#密码(没有就为空)
spring.redis.password=
#连接池的最大连接数
spring.redis.jedis.pool.max-active=2000
#连接池的最大阻塞等待时间(使用负值表示无限制)
spring.redis.jedis.pool.max-wait=-1
#连接池的最小空闲连接
spring.redis.jedis.pool.min-idle=50
#连接超时时间(毫秒)
spring.redis.timeout=1000



#集群模式配置
#spring.redis.cluster.nodes=106.54.79.43:7001,106.54.79.43:7002,106.54.79.43:7003,106.54.79.43:7004,106.54.79.43:7005,106.54.79.43:7006

3.Auto-assembled objects

@AutowiredStringRedisTemplate stringRedisTemplate;//仅支持字符串的数据@AutowiredRedisTemplate redisTemplate;//支持对象的数据,但需要对对象进行序列化

4. Serialization

What is serialization?

Serialization is the process of converting object state into a format that can be maintained or transmitted. The opposite of serialization is deserialization, which converts a stream into an object. These two processes combine to easily store and transfer data.

Why do we need to serialize objects?

#The process of converting an object into a byte sequence is called the serialization of the object. The byte sequence is restored to The process of object is called deserialization of object

@Configuration@AutoConfigureAfter(RedisAutoConfiguration.class)public class RedisConfig {/**java项目www.1b23.com
     * 对属性进行序列化和创建连接工厂
     * @param connectionFactory
     * @return
     */@Beanpublic RedisTemplate<String, Serializable> redisTemplate(LettuceConnectionFactory connectionFactory) {RedisTemplate<String, Serializable> template = new RedisTemplate<>();template.setKeySerializer(new StringRedisSerializer());template.setValueSerializer(new GenericJackson2JsonRedisSerializer());template.setConnectionFactory(connectionFactory);return template;}}

5. Test

//java项目www.1b23.com@RequestMapping("/user")@RestControllerpublic class UserController {@AutowiredStringRedisTemplate stringRedisTemplate;//仅支持字符串的数据@AutowiredRedisTemplate redisTemplate;//支持对象的数据,前提需要进行序列化@GetMappingpublic User user(){User user = new User();user.setId("1");user.setName("zhangshan");user.setPhone("133333333");//插入数据        stringRedisTemplate.opsForValue().set("1",user.toString());redisTemplate.opsForValue().set("user",user);//        return stringRedisTemplate.opsForValue().get("1");   return (User)redisTemplate.opsForValue().get("user");}}

The above is the detailed content of How to configure Redis high concurrency cache in SpringBoot. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:yisu.com. If there is any infringement, please contact admin@php.cn delete