1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/alexqdjay-simple-session

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 3.6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 27.11.2024 23:14 2780ca8

Простой сеанс

Распределённая структура сеанса (Java)
Упрощённый вариант SpringSession, распределённая структура сеансов на Java, простая и удобная в использовании.

1. Быстрый старт

Если ваш проект — SpringBoot, смотрите раздел 1 «Spring boot».
Если ваш проект — это проект SpringMVC, смотрите раздел 2 «SpringMVC».

1.1 Spring boot

Шаг 1. Добавьте @EnableSimpleSession в свой основной класс:

@SpringBootApplication
@EnableSimpleSession
public class MainRun {
	...
}

Шаг 2. Настройте Redis.
Если у вас уже настроен экземпляр JedisPool, этот шаг можно пропустить. В противном случае настройте application.properties:

// application.properties
simplesession.redis.host=127.0.0.1
simplesession.redis.port=6379

1.2 SpringMVC

Для SpringMVC необходимо настроить только SimpleSessionFactory. Конечно, сначала нужно настроить JedisPool (опущено):

// application-context.xml
<bean id="simpleSessionFilter" class="me.ucake.session.config.xml.SimpleSessionFactory">
	<!-- jedisPool 实例 -->
	<property name="jedisPool" ref="jedisPool"></property>
	<!-- 保存策гия: IMMEDIATE, LAZY -->
	<property name="flushMode" ref="LAZY"></property>
	<!-- session传递方式: cookie, header -->
	<property name="strategy" ref="cookie"></property>
</bean>


// web.xml
<filter>
    <filter-name>DelegatingFilterProxy</filter-name>
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
    <init-param>
        <param-name>targetBeanName</param-name>
        <param-value>simpleSessionFilter</param-value>         
    </init-param>
    <init-param>
        <param-name>targetFilterLifecycle</param-name>
        <param-value>true</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>DelegatingFilterProxy</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

2. Использование

Использование Simple Session аналогично обычному сеансу. Вы можете получить его через request.getSession().

Ограничение: после фиксации Simple Session нельзя выполнять операции с сеансом. Проще говоря, в фильтре лучше не выполнять операции с сессией. Отменены события контекста, связанные с истечением срока действия, созданием и т. д. для сессии.

Simple Session использует Redis в качестве хранилища. Можно настроить стратегию сохранения: IMMEDIATE (немедленно) или LAZY (ленивое сохранение). Если установлено значение IMMEDIATE, все операции синхронизации с Redis будут выполняться немедленно. Если установлено значение LAZY, операции будут отложены до завершения запроса, а затем сохранены в Redis.

На этом основное использование заканчивается. Более подробное руководство по использованию будет опубликовано позже.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/alexqdjay-simple-session.git
git@api.gitlife.ru:oschina-mirror/alexqdjay-simple-session.git
oschina-mirror
alexqdjay-simple-session
alexqdjay-simple-session
master