Распределённая структура сеанса (Java)
Упрощённый вариант SpringSession, распределённая структура сеансов на Java, простая и удобная в использовании.
Если ваш проект — SpringBoot, смотрите раздел 1 «Spring boot».
Если ваш проект — это проект SpringMVC, смотрите раздел 2 «SpringMVC».
Шаг 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
Для 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>
Использование Simple Session аналогично обычному сеансу. Вы можете получить его через request.getSession()
.
Ограничение: после фиксации Simple Session нельзя выполнять операции с сеансом. Проще говоря, в фильтре лучше не выполнять операции с сессией. Отменены события контекста, связанные с истечением срока действия, созданием и т. д. для сессии.
Simple Session использует Redis в качестве хранилища. Можно настроить стратегию сохранения: IMMEDIATE (немедленно) или LAZY (ленивое сохранение). Если установлено значение IMMEDIATE, все операции синхронизации с Redis будут выполняться немедленно. Если установлено значение LAZY, операции будут отложены до завершения запроса, а затем сохранены в Redis.
На этом основное использование заканчивается. Более подробное руководство по использованию будет опубликовано позже.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )