Spring Session整合Redisson

前言:

Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。其中包括(BitSet, Set, Multimap, SortedSet, Map, List, Queue, BlockingQueue, Deque, BlockingDeque, Semaphore, Lock, AtomicLong, CountDownLatch, Publish / Subscribe, Bloom filter, Remote service, Spring cache, Executor service, Live Object service, Scheduler service) Redisson提供了使用Redis的最简单和最便捷的方法。Redisson的宗旨是促进使用者对Redis的关注分离(Separation of Concern),从而让使用者能够将精力更集中地放在处理业务逻辑上。 (摘自官方WIKI)

 

Redisson在3.2.0版本里新增了对Spring-Session整合的支持.本文将介绍整合Spring-Boot Spring-Session Redisson的方法

1. 添加依赖

Maven

<dependency>
   <groupId>org.springframework.session</groupId>
   <artifactId>spring-session</artifactId>
   <version>1.2.2.RELEASE</version>
</dependency>
<dependency>
   <groupId>org.redisson</groupId>
   <artifactId>redisson</artifactId>
   <version>3.2.0</version>
</dependency>

 

Gradle

compile 'org.springframework.session:spring-session:1.2.2.RELEASE'  
compile group: 'org.redisson', name: 'redisson', version:'3.2.0'

 

2.创建配置文件RedisConfig.java

package org.jzbk.example.configuration;

import org.redisson.Redisson;
import org.redisson.api.RedissonClient;
import org.redisson.config.Config;
import org.redisson.spring.session.config.EnableRedissonHttpSession;
import org.springframework.context.annotation.Bean;
import org.springframework.core.io.ClassPathResource;

import java.io.IOException;

@EnableRedissonHttpSession
public class RedisConfig {
    @Bean(destroyMethod = "shutdown")
    public RedissonClient getRedis() throws IOException {
        return Redisson.create(
                Config.fromYAML(
                        new ClassPathResource("redisson.yaml").getInputStream()
                )
        );
    }
}

因为我的redisson.yaml在classpath根目录下,所以直接使用ClassPathResource,请根据实际情况来修改.

 

3.修改application.properties,增加下列配置

spring.session.store-type=redis
server.session.timeout=7200

 

4.启动项目,刷新页面即可看到成功整合成功.

 

参考: https://github.com/redisson/redisson/wiki/14.-Integration%20with%20frameworks#145-spring-session

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注


此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据