當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
Spring Session 的两种刷新模式-RedisFlushMode
生活随笔
收集整理的這篇文章主要介紹了
Spring Session 的两种刷新模式-RedisFlushMode
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
spring session 對于什么時候將session 中的數據同步到redis 中提供了兩種模式, 一種是當響應結束后同步, 另一種種是實時同步, 默認時第一種. 兩種方式各有特點, 這個根據自己的需要進行選擇即可, 不確定的話就使用默認.
一、RedisFlushMode
- ON_SAVE: 只有當SessionRepository.save(Session)方法被調用時,才會將session中的數據同步到redis中. 在web 應用中, 當請求完成響應后, 才開始同步. 也就是說在執行response之前session數據都是緩存在本地的.
- IMMEDIATE: 實時同步session 數據到redis. 當執行SessionRepository.createSession()時, 會將session數據同步到redis中;當對session的attribute進行set/remove 等操作時, 也會同步session中的數據到redis中.
目前官方文檔2.x的配置方式是在配置文件中的, 但是筆者測試并非如此, 也查看了源碼, 實際是從@EnableRedisHttpSession的屬性配置中讀取的. 因此直接@EnableRedisHttpSession上配置即可.
@EnableRedisHttpSession(redisFlushMode=RedisFlushMode.IMMEDIATE)二、兩種模式測試
測試采用debug方式測試,筆者建議每次測試之前清空redis數據庫
測試時, return語句打上斷點, 查看redis 中數據庫的值
- ON_SAVE: 在執行到return語句時, 數據庫中沒有數據. 當放過斷點, 執行完return 語句之后,會發現redis中已經有了新的session
- IMMEDIATE: 在執行到return 語句時, 數據庫中已經有了session相關數據.
文章轉自
總結
以上是生活随笔為你收集整理的Spring Session 的两种刷新模式-RedisFlushMode的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2020年线上农产品消费趋势报告
- 下一篇: 2020中国社交电商消费者购物行为研究报