Le contenu de cet article concerne la méthode (code) de configuration de redis et de session-redis distribuées dans SpringBoot. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
La différence entre le projet Springboot et la configuration de projet traditionnelle Redis est plus simple et plus pratique dans les systèmes distribués, pour résoudre le problème de partage de session, Spring Session Redis peut être utilisé.
1. pom.xml
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId> </dependency>
2. Classe de configuration Rdis
import org.springframework.beans.factory.annotation.Value; import org.springframework.cache.annotation.CachingConfigurerSupport; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import redis.clients.jedis.JedisPoolConfig; import redis.clients.jedis.JedisShardInfo; import redis.clients.jedis.ShardedJedisPool; import java.util.ArrayList; import java.util.List; @Configuration public class RedisConfig extends CachingConfigurerSupport { @Value("${redis.host}") private String host; @Value("${redis.port}") private Integer port; @Value("${redis.maxTotal}") private Integer maxTotal; @Value("${redis.maxIdle}") private Integer maxIdle; @Value("${redis.maxWaitMillis}") private Long maxWaitMillis; @Bean public ShardedJedisPool shardedJedisPool() { JedisPoolConfig jedisPoolConfig = new JedisPoolConfig(); jedisPoolConfig.setMaxTotal(maxTotal); jedisPoolConfig.setMaxIdle(maxIdle); jedisPoolConfig.setMaxWaitMillis(maxWaitMillis); List<JedisShardInfo> jedisShardInfos = new ArrayList<>(); jedisShardInfos.add(new JedisShardInfo(host,port)); return new ShardedJedisPool(jedisPoolConfig, jedisShardInfos); } }
3. Classe de configuration Redis de session
import org.springframework.context.annotation.Configuration; import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession; /** * session共享 */ @Configuration @EnableRedisHttpSession(maxInactiveIntervalInSeconds=60*60) public class RedisSessionConfig { }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!