Heim > Datenbank > Redis > Hauptteil

SpringBoot如何配置Redis高并发缓存

WBOY
Freigeben: 2023-05-27 14:26:27
nach vorne
1372 人浏览过

1.引入依赖

 
   org.springframework.boot
   spring-boot-starter-data-redis
 
Nach dem Login kopieren

2.配置

#启动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
Nach dem Login kopieren

3.自动装配的对象

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

4.序列化

什么是序列化?

序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。

为什么要序列化对象

把对象转换为字节序列的过程称为对象的序列化把字节序列恢复为对象的过程称为对象的反序列化

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

5.测试

//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");}}
Nach dem Login kopieren

以上是SpringBoot如何配置Redis高并发缓存的详细内容。更多信息请关注PHP中文网其他相关文章!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!