首頁  >  文章  >  Java  >  SpringBoot設定redis和分散式session-redis的方法(程式碼)

SpringBoot設定redis和分散式session-redis的方法(程式碼)

不言
不言原創
2018-09-20 15:36:242845瀏覽

這篇文章帶給大家的內容是關於SpringBoot配置redis和分散式session-redis的方法(程式碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

springboot專案和傳統專案配置redis的區別,更簡單方便,在分散式系統中,解決sesssion共享問題,可以用spring session redis。

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、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、session redis 設定類別

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 {
}

以上是SpringBoot設定redis和分散式session-redis的方法(程式碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn