日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

从spring-session存储结构探讨session存储方案的演变

發布時間:2025/3/15 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 从spring-session存储结构探讨session存储方案的演变 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們知道Spring Session 主要解決了分布式場景下 Session 的共享問題,本文將從 Spring Session 的源碼出發,來討論一些 Session 設計的細節。

一、Spring Session 數據結構解讀

想象一個場景,現在一到面試題呈現在你面前,讓你從零開始設計一個 Session 存儲方案,你會怎么回答?

說白了就是讓你設計一套數據結構存儲 Session,并且我相信提出這個問題時,大多數讀者腦海中會浮現出 redis,設計一個 map,使用 ttl 等等,但沒想到的細節可能會更多。先來預覽一下 Spring Session 的實際數據結構是什么樣的(使用 spring-session-redis 實現),當我們訪問一次集成了Spring Session 的 web 應用時

@RequestMapping("/helloworld") public String hello(HttpSession session){session.setAttribute("name","xu");return "hello.html"; }

可以在 Redis 中看到如下的數據結構:

  • A) “spring:session:sessions:39feb101-87d4-42c7-ab53-ac6fe0d91925”
  • B) “spring:session:expirations:1523934840000”
  • C)“spring:session:sessions:expires:39feb101-87d4-42c7-ab53-ac6fe0d91925”

這三種鍵職責的分析將會貫徹全文,為了統一敘述,在此將他們進行編號,后續簡稱為 A 類型鍵,B 類型鍵,C 類型鍵。先簡單分析下他們的特點。他們公用的(默認)前綴是 spring:session

  • A 類型鍵的組成是前綴 +”sessions”+sessionId,對應的值是一個 hash 數據結構。在我的 demo 中,其值如下
//其中 creationTime(創建時間),lastAccessedTime(最后訪問時間) //maxInactiveInterval(session 失效的間隔時長) 等字段是系統字段//sessionAttr:xx 可能會存在多個鍵值對,用戶存放在 session 中的數據如數存放于此。 {"lastAccessedTime": 1523933008926,/*2018/4/17 10:43:28*/"creationTime": 1523933008926, /*2018/4/17 10:43:28*/"maxInactiveInterval": 1800,"sessionAttr:name": "xu" }

A 類型鍵對應的默認 TTL 是 35 分鐘。

  • B 類型鍵的組成是前綴+”expirations”+時間戳,無需糾結這個時間戳的含義,先賣個關子。其對應的值是一個 set 數據結構,這個 set 數據結構中存儲著一系列的 C 類型鍵。在我的 demo 中,其值如下
["expires:39feb101-87d4-42c7-ab53-ac6fe0d91925" ]

B 類型鍵對應的默認 TTL 是 30 分鐘

  • C 類型鍵的組成是前綴+”sessions:expires”+sessionId,對應一個空值,它僅僅是 sessionId 在 redis 中的一個引用,具體作用繼續賣關子。C 類型鍵對應的默認 TTL 是 30 分鐘。

二、my-session 的天使輪方案

介紹完 Spring Session 的數據結構,我們先放到一邊,來看看如果我們自己設計一個 Session 方案,擬定為 my-session 吧,該如何設計。心路歷程是這樣的:“使用 redis 存 session 數據,對,session 需要有過期機制,redis 的鍵可以自動過期,肯定很方便。”于是設計出了 spring-session 中的 A 類型鍵,復用它的數據結構:

{"lastAccessedTime": 1523933008926,"creationTime": 1523933008926, "maxInactiveInterval": 1800,key/value... }

然后對 A 類型的鍵設置 ttl A 30 分鐘,這樣 30分鐘之后 session 過期,0-30 分鐘期間如果用戶持續操作,那就根據 sessionId 找到 A 類型的 key,刷新 lastAccessedTime 的值,并重新設置 ttl,這樣就完成了「續簽」的特性。

顯然 Spring Session 沒有采用如此簡練的設計,為什么呢?翻看 Spring Session 的文檔

One problem with relying on Redis expiration exclusively is that Redis
makes no guarantee of when the expired event will be fired if the key
has not been accessed. Specifically the background task that Redis
uses to clean up expired keys is a low priority task and may not
trigger the key expiration. For additional details see Timing of
expired events section in the Redis documentation.

大致意思是說,redis 的鍵過期機制不“保險”,這和 redis 的設計有關,不在此拓展開,研究這個的時候翻了不少資料,得出了如下的總結:

redis 在鍵實際過期之后不一定會被刪除,可能會繼續存留,但具體存留的時間我沒有做過研究,可能是 1~2 分鐘,可能會更久。具有過期時間的 key 有兩種方式來保證過期,一是這個鍵在過期的時候被訪問了,二是后臺運行一個定時任務自己刪除過期的key。劃重點:這啟發我們在 key 到期后只需要訪問一下 key 就可以確保 redis 刪除該過期鍵 如果沒有指令持續關注 key,并且redis 中存在許多與 TTL 關聯的 key,則 key 真正被刪除的時間將會有顯著的延遲!顯著的延遲!顯著的延遲!天使輪計劃慘遭破產,看來單純依賴于 redis 的過期時間是不可靠的,秉持著力求嚴謹的態度,迎來了 A 輪改造。

三、A 輪改造—引入 B 類型鍵確保 session 的過期機制

redis 的官方文檔啟發我們,可以啟用一個后臺定時任務,定時去刪除那些過期的鍵,配合上 redis 的自動過期,這樣可以雙重保險。第一個問題來了,我們將這些過期鍵存在哪兒呢?不找個合適的地方存起來,定時任務到哪兒去刪除這些應該過期的鍵呢?總不能掃描全庫吧!來解釋我前面賣的第一個關子,看看 B 類型鍵的特點:

spring:session:expirations:1523934840000
  • 時間戳的含義

1523934840000 這明顯是個 Unix 時間戳,它的含義是存放著這一分鐘內應該過期的鍵,所以它是一個 set 數據結構。解釋下這個時間戳是怎么計算出來的org.springframework.session.data.redis.RedisSessionExpirationPolicy#roundUpToNextMinute

static long roundUpToNextMinute(long timeInMs) {Calendar date = Calendar.getInstance();date.setTimeInMillis(timeInMs);date.add(Calendar.MINUTE, 1);date.clear(Calendar.SECOND);date.clear(Calendar.MILLISECOND);return date.getTimeInMillis();}

還記得 lastAccessedTime=1523933008926,maxInactiveInterval=1800 吧,lastAccessedTime 轉換成北京時間是: 2018/4/17 10:43:28,向上取整是2018/4/17 10:44:00,再次轉換為 Unix 時間戳得到 1523932980000,單位是 ms,1800 是過期時間的間隔,單位是 s,二者相加 1523932980000+1800*1000=1523934840000。這樣 B 類型鍵便作為了一個「桶」,存放著這一分鐘應當過期的 session 的 key。

  • 后臺定時任務

org.springframework.session.data.redis.RedisSessionExpirationPolicy#cleanupExpiredSessions

@Scheduled(cron = "${spring.session.cleanup.cron.expression:0 * * * * *}") public void cleanupExpiredSessions() {this.expirationPolicy.cleanExpiredSessions(); }

后臺提供了定時任務去“刪除”過期的 key,來補償 redis 到期未刪除的 key。方案再描述下,方便大家理解:取得當前時間的時間戳作為 key,去 redis 中定位到 spring:session:expirations:{當前時間戳} ,這個 set 里面存放的便是所有過期的 key 了。

  • 續簽的影響(并發)

每次 session 的續簽,需要將舊桶中的數據移除,放到新桶中。驗證這一點很容易。在第一分鐘訪問一次 http://localhost:8080/helloworld 端點,得到的 B 類型鍵為:spring:session:expirations:1523934840000;第二分鐘再訪問一次 http://localhost:8080/helloworld 端點,A 類型鍵的 lastAccessedTime 得到更新,并且 spring:session:expirations:1523934840000 這個桶被刪除了,新增了 spring:session:expirations:1523934900000 這個桶。當眾多用戶活躍時,桶的增刪和以及 set 中數據的增刪都是很頻繁的。對了,沒提到的一點,對應 key 的 ttl 時間也會被更新。my-session 方案貌似比之前嚴謹了,目前為止使用了 A 類型鍵和 B 類型鍵解決了 session 存儲和 redis 鍵到期不刪除的兩個問題,但還是存在問題的。

四、B 輪改造—優雅地解決 B 類型鍵的并發問題

引入 B 類型鍵看似解決了問題,卻也引入了一個新的問題:并發問題。

來看看一個場景:

假設存在一個 sessionId=1 的會話,初始時間戳為 1420656360000

spring:session:expirations:1420656360000 -> [1] spring:session:session:1 -> <session>

接下來迎來了并發訪問,(用戶可能在瀏覽器中多次點擊):

  • 線程 1 在第 2 分鐘請求,產生了續簽,session:1 應當從 1420656360000 這個桶移動到 142065642000這個桶
  • 線程 2 在第 3 分鐘請求,也產生了續簽,session:1 本應當從 1420656360000 這個桶移動到142065648000 這個桶
  • 如果上兩步按照次序執行,自然不會有問題。但第 3 分鐘的請求可能已經執行完畢了,第 2 分鐘才剛開始執行。

像下面這樣:

線程 2 從第一分鐘的桶中移除 session:1,并移動到第三分鐘的桶中

spring:session:expirations:1420656360000 -> [] spring:session:session:1 -> <session> spring:session:expirations:1420656480000 -> [1]

線程 1 完成相同的操作,它也是基于第一分鐘來做的,但會移動到第二分鐘的桶中

spring:session:expirations:1420656360000 -> [] spring:session:session:1 -> <session> spring:session:expirations:1420656420000 -> [1]

最后 redis 中鍵的情況變成了這樣:

spring:session:expirations:1420656360000 -> [] spring:session:session:1 -> <session> spring:session:expirations:1420656480000 -> [1] spring:session:expirations:1420656420000 -> [1]

后臺定時任務會在第 32 分鐘掃描到 spring:session:expirations:1420656420000 桶中存在的 session,這意味著,本應該在第 33 分鐘才會過期的 key,在第 32 分鐘就會被刪除!

一種簡單的方法是用戶的每次 session 續期加上分布式鎖,這顯然不能被接受。來看看 Spring Session 是怎么巧妙地應對這個并發問題的。

org.springframework.session.data.redis.RedisSessionExpirationPolicy#cleanExpiredSessions

public void cleanExpiredSessions() {long now = System.currentTimeMillis();long prevMin = roundDownMinute(now);if (logger.isDebugEnabled()) {logger.debug("Cleaning up sessions expiring at " + new Date(prevMin));}// 獲取到 B 類型鍵String expirationKey = getExpirationKey(prevMin);// 取出當前這一分鐘應當過期的 sessionSet<Object> sessionsToExpire = this.redis.boundSetOps(expirationKey).members();// 注意:這里刪除的是 B 類型鍵,不是刪除 session 本身!this.redis.delete(expirationKey);for (Object session : sessionsToExpire) {String sessionKey = getSessionKey((String) session);// 遍歷一下 C 類型的鍵touch(sessionKey);} }/*** By trying to access the session we only trigger a deletion if it the TTL is* expired. This is done to handle* https://github.com/spring-projects/spring-session/issues/93** @param key the key*/ private void touch(String key) {// 并不是刪除 key,而只是訪問 keythis.redis.hasKey(key); }

這里面邏輯主要是拿到過期鍵的集合(實際上是 C 類型的 key,但這里可以理解為 sessionId,C 類型我下面會介紹),此時這個集合里面存在三種類型的 sessionId。

  • 已經被 redis 刪除的過期鍵。萬事大吉,redis 很靠譜的及時清理了過期的鍵。
  • 已經過期,但是還沒來得及被 redis 清除的key。還記得前面 redis 文檔里面提到的一個技巧嗎?我們在 key 到期后只需要訪問一下 key 就可以確保 redis刪除該過期鍵,所以 redis.hasKey(key); 該操作就是為了觸發 redis 的自己刪除。
  • 并發問題導致的多余數據,實際上并未過期。如上所述,第 32 分鐘的桶里面存在的 session:1 實際上并不應該被刪除,使用 touch的好處便是我只負責檢測,刪不刪交給 redis 判斷。session:1 在第 32 分鐘被 touch 了一次,并未被刪除,在第 33分鐘時應當被 redis 刪除,但可能存在延時,這個時候 touch 一次,確保刪除。

所以,源碼里面特別強調了一下:要用 touch 去觸發 key 的刪除,而不能直接 del key。

參考:https://github.com/spring-projects/spring-session/issues/93

五、C 輪改造—增加 C 類型鍵完善過期通知事件

雖然引入了 B 類型鍵,并且在后臺加了定時器去確保 session 的過期,但似乎…emmmmm…還是不夠完善。在此之前,my-session 的設計方案中,存儲 session 實際內容的 A 類型鍵和用于定時器確保刪除的桶 B 類型鍵過期時間都是 30 分鐘(key 的 TTL 是 30 分鐘),注意一個細節,spring-session 中 A 類型鍵的過期時間是 35 分鐘,比實際的 30 分鐘多了 5 分鐘,這意味著即便 session 已經過期,我們還是可以在 redis 中有 5 分鐘間隔來操作過期的 session。于此同時,spring-session 引入了 C 類型鍵來作為 session 的引用。

解釋下之前賣的第二個關子,C 類型鍵的組成為前綴+”sessions:expires”+sessionId,對應一個空值,同時也是 B 類型鍵桶中存放的 session 引用,ttl 為 30 分鐘,具體作用便是在自身過期后觸發 redis 的 keyspace notifications 具體如何監聽redis 的過期事件簡單介紹下:

org.springframework.session.data.redis.config.ConfigureNotifyKeyspaceEventsAction 該類配置了相關的過期監聽,并使用 SessionExpiredEvent 事件發放 session 的過期事件。為什么引入 C 類型鍵?keyspace notifications 只會告訴我們哪個鍵過期了,不會告訴我們內容是什么。關鍵就在于如果 session 過期后監聽器可能想要訪問 session 的具體內容,然而自身都過期了,還怎么獲取內容。所以,C 類型鍵存在的意義便是解耦 session 的存儲和 session 的過期,并且使得 server 獲取到過期通知后可以訪問到 session 真實的值。對于用戶來說,C 類型鍵過期后,意味著登錄失效,而對于服務端而言,真正的過期其實是 A 類型鍵過期,這中間會有 5 分鐘的誤差。

l六、一點點想法,擔憂,疑惑

本文大概介紹了 Spring Session 的三種 key 的原因,理清楚其中的邏輯花了不少時間,項目改造正好涉及到相關的緩存值過期這一需求,完全可以參考 Spring Session 的方案。但擔憂也是有的,如果真的只是 1~2 兩分鐘的延遲過期(對應 A 輪改造中遇到的問題),以及 1 分鐘的提前刪除(對應 B 輪改造中的并發問題)其實個人感覺沒必要計較。從產品體驗上來說,用戶應該不會在意 32 分鐘自動退出和 30 分鐘退出,可以說 Spring Session 是為了嚴謹而設計了這一套方案,但引入了定時器和很多輔助的鍵值對,無疑對內存消耗和 cpu 消耗都是一種浪費。如果在生產環境大量使用 Spring Session,最好權衡下本文提及的相關問題。

文章轉自

總結

以上是生活随笔為你收集整理的从spring-session存储结构探讨session存储方案的演变的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

欧女人精69xxxxxx | 伊色综合久久之综合久久 | 日韩精品免费一线在线观看 | 在线日韩三级 | 日精品 | 免费视频二区 | 免费看的黄色录像 | freejavvideo日本免费 | 激情综合网色播五月 | 黄色成人毛片 | 丝袜+亚洲+另类+欧美+变态 | 久久视频这里有久久精品视频11 | 国产69久久精品成人看 | 国产精品一区二区精品视频免费看 | 91成人在线免费观看 | 97视频在线观看播放 | 色综合久久天天 | 免费观看第二部31集 | 亚洲色图色| 久久久久高清 | 在线看毛片网站 | 天天干天天在线 | 成年人黄色在线观看 | 色久网 | 日韩视频1 | 欧美在线aaa | 亚洲精品美女免费 | 91成人欧美 | 在线成人中文字幕 | 九月婷婷人人澡人人添人人爽 | 欧美精品久久99 | 一级片黄色片网站 | 97超级碰碰碰碰久久久久 | 亚洲精品九九 | 美女亚洲精品 | 麻豆视频www | 国产精品igao视频网入口 | 51久久成人国产精品麻豆 | 国产视频1| 黄色三级免费片 | 久久五月天色综合 | 欧美日韩一区二区视频在线观看 | 久久资源在线 | 激情网第四色 | 久草在线官网 | 亚洲成a人片77777潘金莲 | 天天天干| 亚洲精品国产精品国自产在线 | 久久99精品一区二区三区三区 | 丁香婷婷基地 | 日韩18p| 高清色免费 | japanese黑人亚洲人4k | 激情五月播播久久久精品 | 欧美成人a在线 | 中日韩在线视频 | 亚洲精品一区二区三区四区高清 | 日韩一区精品 | 九九热av| 91精品人成在线观看 | 久久99国产一区二区三区 | 91av视频观看 | 久久精品官网 | 一本一道波多野毛片中文在线 | 亚洲成年片 | 国产精品欧美一区二区三区不卡 | 亚洲精品欧美专区 | 欧美另类美少妇69xxxx | 999超碰| 国产精品乱码一区二区视频 | 黄色软件视频网站 | 丁香综合激情 | 最新av中文字幕 | 国产资源在线免费观看 | 日韩成人精品一区二区三区 | 草久在线视频 | 欧美在线观看视频免费 | 国产精品av免费在线观看 | 最新国产一区二区三区 | 亚洲美女在线一区 | 精品国产精品久久一区免费式 | 欧美精品乱码久久久久久 | 高清国产一区 | 欧美日韩免费在线视频 | 国产一区二区综合 | 综合网天天射 | 天天操,夜夜操 | www.狠狠插.com | 欧美三级在线播放 | 一区二区三区在线视频111 | 美女视频是黄的免费观看 | 亚洲最大av | 综合色亚洲 | 玖玖视频精品 | 久亚洲 | 久久久精品网站 | 在线成人一区二区 | 美女天天操 | 婷婷亚洲综合五月天小说 | 欧美日韩国产高清视频 | 丁香视频在线观看 | 精品国产一区二 | 美女黄频网站 | 中文字幕视频观看 | 在线观看中文字幕av | 久久亚洲福利 | 国产尤物在线视频 | 菠萝菠萝在线精品视频 | 六月天综合网 | 亚洲国产久 | 日本丶国产丶欧美色综合 | 色婷婷成人网 | 九九热精| 精品国产欧美一区二区 | 在线看一区二区 | 伊人久久精品久久亚洲一区 | 免费看麻豆| 日本美女xx | 99久在线精品99re8热视频 | 久久av伊人 | 啪啪小视频网站 | 五月天精品视频 | 久久综合狠狠综合久久综合88 | 最近字幕在线观看第一季 | 超碰在线97观看 | 手机av在线网站 | 干亚洲少妇 | 国产精品永久在线观看 | 国产免费一区二区三区网站免费 | 久久午夜视频 | 久久精品爱视频 | 午夜精品久久久久久久久久久久久久 | 亚洲成av人片在线观看 | 国产成人免费观看 | 久久高清视频免费 | 亚洲视频精选 | 国产小视频在线免费观看视频 | 色.com| 九九热视频在线免费观看 | 一区二区三区四区久久 | 日本系列中文字幕 | 日韩午夜小视频 | 婷婷久久综合九色综合 | 在线观看完整版免费 | 国产精品99久久久久久久久 | 伊香蕉大综综综合久久啪 | 日韩欧美一区二区三区在线观看 | 日韩av中文字幕在线免费观看 | 日日夜夜中文字幕 | 日韩视频中文字幕 | 亚洲国产精品成人综合 | 黄色av一区二区 | a在线观看国产 | 欧美成人区 | 日韩精品电影在线播放 | 深夜福利视频一区二区 | 成人污视频在线观看 | 国产亚洲在线 | 亚洲精品一区二区三区高潮 | 婷婷综合成人 | 久久99影院 | 亚洲成人资源在线观看 | 国产一级黄色片免费看 | 久久精品网站视频 | 欧美日韩国产二区 | 国产精品久久电影网 | 日韩在线观看中文字幕 | 久久观看最新视频 | 波多野结衣视频一区二区三区 | 成人在线观看免费视频 | 天天搞天天干 | 91黄色免费网站 | 欧美日韩久久不卡 | 美女网站在线观看 | 在线观看亚洲专区 | 96精品视频 | 欧美午夜a| 手机成人av| www狠狠| 亚洲国产精品va在线看黑人 | 久久手机精品视频 | 国产精品国产三级国产aⅴ无密码 | 亚洲成 人精品 | 99精品在线免费在线观看 | 99热最新精品 | 欧美一级裸体视频 | 西西人体www444 | 99视频一区 | 国产精品第一视频 | 综合色伊人 | 中文不卡视频 | 三级毛片视频 | 亚洲国产一区av | 丁香婷五月| 国产一区成人 | 福利一区二区三区四区 | 国产精品美女免费视频 | 日韩一区二区三区高清免费看看 | 国产电影黄色av | 超碰人人做 | 97成人资源 | 亚洲精品色婷婷 | 免费国产黄线在线观看视频 | av片中文| 成人毛片a | 欧美另类美少妇69xxxx | 久草网在线视频 | 久久在线免费视频 | 麻豆视频免费播放 | 99视频精品在线 | 91成人亚洲 | 国产精品大片免费观看 | 日韩欧美在线免费观看 | 97超碰福利久久精品 | 欧美一区二区三区在线播放 | 免费精品在线 | 99一级片 | 国产精彩在线视频 | 成人小视频在线观看免费 | 天天干天天操天天爱 | 一区免费在线 | 天天爱天天操天天干 | 欧美色精品天天在线观看视频 | 激情视频综合网 | 日韩一区二区在线免费观看 | 六月色丁| 99精品免费在线观看 | 久久视频中文字幕 | 在线视频 亚洲 | 五月天,com | 国产aa免费视频 | 国产一区国产二区在线观看 | 午夜精品一区二区国产 | 精品国产自在精品国产精野外直播 | 在线性视频日韩欧美 | 国产亚洲综合性久久久影院 | 亚洲精品美女久久久久网站 | 中国美女一级看片 | 成人毛片在线视频 | 黄色免费网站 | 午夜国产福利视频 | 99国产一区二区三精品乱码 | 日本性视频| 91桃色在线播放 | www.亚洲精品| 在线国产福利 | 97精品一区二区三区 | 极品美女被弄高潮视频网站 | 91资源在线视频 | 欧美午夜剧场 | 国产精品自产拍在线观看网站 | 免费大片av | 欧美日韩三级在线观看 | 最近中文字幕大全中文字幕免费 | 国产精品爽爽爽 | 日韩精品电影在线播放 | 色婷婷综合视频在线观看 | 久草在线资源免费 | 久久久精品国产一区二区三区 | 免费黄色av电影 | 超碰在线日韩 | 成年人毛片在线观看 | 久 久久影院 | 成年人在线免费看视频 | 激情久久久久久久久久久久久久久久 | 国产va精品免费观看 | 色婷婷丁香 | 黄色在线看网站 | 午夜10000| 欧美一区在线观看视频 | 韩日av一区二区 | av综合 日韩 | 午夜久久美女 | 绯色av一区 | 香蕉视频日本 | 色偷偷av男人天堂 | 国产精品手机在线 | 高潮久久久久久久久 | 在线三级av| 在线只有精品 | 国产高清视频色在线www | 91精品在线看 | 日韩电影在线观看一区二区 | 欧美午夜a | 久久午夜免费观看 | 久久久久综合视频 | 日韩色综合网 | 大胆欧美gogo免费视频一二区 | 三级av网站 | 美女国内精品自产拍在线播放 | 美女网站一区 | 日本女人的性生活视频 | 91精品老司机久久一区啪 | 精品一区二区三区在线播放 | 天天爱天天 | 一级黄色a视频 | 欧美日本在线观看视频 | 色婷婷免费视频 | 免费久草视频 | 99综合电影在线视频 | 亚洲黄色av一区 | 天天草天天插 | 在线国产精品视频 | 在线播放视频一区 | 午夜国产福利在线观看 | 日韩av高潮 | 色综合天天色 | 视频二区在线视频 | 国产精品日韩欧美一区二区 | 日日夜夜精品视频 | 91视频黄色 | 婷婷六月天综合 | 蜜桃视频在线观看一区 | 在线免费看片 | 91福利在线观看 | 综合视频在线 | 最近更新中文字幕 | 在线观看亚洲视频 | 欧美成人免费在线 | 精品国产成人av | 免费看国产黄色 | 国产一区二区高清不卡 | 久久久精品综合 | 手机看片99| 激情深爱 | 午夜久久网站 | 国产精品午夜久久 | 免费a网站 | 亚洲精品成人av在线 | 国产精选视频 | 日日操日日插 | 麻豆国产精品va在线观看不卡 | 97视频人人澡人人爽 | 国产精品丝袜久久久久久久不卡 | 久久精品专区 | 天天综合精品 | 国产午夜三级一区二区三桃花影视 | 国产又黄又爽无遮挡 | www天天操 | 久久免费视频这里只有精品 | 青春草视频 | 丁香婷婷社区 | 国产精品久久久影视 | 天天爱天天操 | 中国美女一级看片 | 激情综合啪啪 | 国语久久 | 一区二区精品视频 | 成人av在线影院 | 国内精品久久天天躁人人爽 | av综合网址 | 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 国产美女网 | 国产精品第二十页 | 夜夜夜夜夜夜操 | 天天干干 | 色无五月 | 制服丝袜在线91 | 在线视频观看国产 | 久久99久久99精品免观看软件 | 日韩欧美一区二区三区在线观看 | 日韩二区三区在线观看 | 中国精品一区二区 | 99免费看片 | 亚洲精品高清一区二区三区四区 | 久久伊人国产精品 | 这里只有精品视频在线观看 | 成人精品一区二区三区电影免费 | 91视频三区 | 一区二区视频欧美 | 天天爽网站 | 三级在线国产 | 超碰97国产在线 | 九九热精品视频在线播放 | 三级黄在线 | 国产视频一区在线播放 | 黄色国产精品 | 免费看黄电影 | 国产高清视频免费观看 | 中文字幕日韩av | 亚洲在线网址 | 成 人 黄 色视频免费播放 | 国产一区二区三区免费视频 | 国产黄av | 久久艹人人 | 国产高清视频在线播放 | 欧美国产日韩一区二区三区 | 欧美日性视频 | 天天干天天草天天爽 | 久久午夜鲁丝片 | 免费看成人片 | 国产少妇在线观看 | 久久婷婷视频 | 丁香六月伊人 | 欧洲一区二区在线观看 | 久久99国产精品 | 国产1区2区3区精品美女 | 免费在线观看的av网站 | 96久久精品 | 日韩精品亚洲专区在线观看 | 国产亚洲视频在线观看 | 干综合网 | 久久久久久久久久久网站 | 91av视频网站| 色香蕉在线 | 色婷婷综合久久久 | 91在线区 | 992tv人人草| 天天天天天天天操 | 六月丁香婷婷在线 | 超级碰99 | 欧美一级片在线观看视频 | 欧美一级免费高清 | 精品一区 精品二区 | 国产美女主播精品一区二区三区 | 日本xxxx裸体xxxx17 | 中文字幕在线观看免费观看 | 国产国产人免费人成免费视频 | 美女黄久久 | 亚洲综合色丁香婷婷六月图片 | 国产精品久久久久久一区二区三区 | 特级黄色电影 | 中文字幕欲求不满 | 中文字幕国内精品 | 中文字幕在线观看一区二区三区 | 亚洲视频免费在线观看 | 国产精品aⅴ | 婷婷丁香在线 | 国产精品视频久久久 | 日韩国产精品久久久久久亚洲 | 亚洲一二区精品 | 中文国产成人精品久久一 | 一区二区视 | 日韩精品在线观看av | 久久1电影院 | 国产精品系列在线 | 日本中文字幕网 | 久久99久久精品国产 | 9992tv成人免费看片 | 日韩欧美一区二区在线 | 91av短视频 | 欧美一级裸体视频 | 欧美日韩一区二区三区在线观看视频 | 狠狠躁18三区二区一区ai明星 | 日韩免费观看av | 亚洲精品在线观看的 | 国产手机在线精品 | 人人澡人人爱 | 亚洲在线不卡 | 久久精品韩国 | 激情在线免费视频 | 9色在线视频 | 日韩aⅴ视频 | 国产精品成人免费精品自在线观看 | 激情欧美一区二区免费视频 | 黄色软件视频大全免费下载 | 国产一二三四在线视频 | 日韩精品中文字幕在线观看 | 在线观看免费版高清版 | 一区二区精品在线观看 | 91视频啪 | 国产精品白丝jk白祙 | 美女视频一区 | 成人免费在线播放 | 天天天干夜夜夜操 | 色狠狠干 | 亚洲精品视频观看 | 91看片成人 | www操操操 | 久久久资源 | 欧美成人精品三级在线观看播放 | 91porny九色在线播放 | 精品国产亚洲日本 | 欧美影院久久 | 在线播放91| 天天干天天干天天色 | 国产一卡久久电影永久 | 中文字幕专区高清在线观看 | 青青河边草手机免费 | 国产精品丝袜久久久久久久不卡 | 欧美色一色| 一区二区三区高清在线 | 国产做aⅴ在线视频播放 | 久久伊人操 | 久久九九九九 | www.神马久久 | 成人av电影在线播放 | 免费在线色电影 | 亚洲专区一二三 | www,黄视频 | 一区二区三区电影在线播 | 久久久久亚洲国产精品 | 在线观看国产一区二区 | 日韩视频在线观看视频 | 日韩精品一区二区三区免费观看 | 中文字幕亚洲国产 | 亚洲精品国产精品国自产 | 日韩一区二区三免费高清在线观看 | 国内丰满少妇猛烈精品播放 | 日韩中文字幕亚洲一区二区va在线 | 国产在线91精品 | 免费的黄色av | 不卡电影免费在线播放一区 | 黄色在线观看免费 | 久久精品国产精品亚洲 | 91精品国产综合久久久久久久 | 欧美日韩另类在线 | 999久久久久久久久6666 | www狠狠操 | 欧美视频一区二 | 欧美激情精品久久久久久免费印度 | 欧美亚洲成人xxx | 久久在线观看视频 | 亚洲国产欧美一区二区三区丁香婷 | 国产专区视频在线 | 午夜精品一区二区三区在线视频 | 九色激情网| 婷五月激情 | 国产粉嫩在线观看 | 国产九色在线播放九色 | 尤物一区二区三区 | 视频在线99re | 天堂网在线视频 | 九色精品免费永久在线 | 国产永久免费观看 | 精品久久免费看 | 日韩最新中文字幕 | 国产视频久 | 99久久综合精品五月天 | 精品久久久久久久久久久久久久久久久久 | 亚洲精品国偷拍自产在线观看 | 成人网看片 | 99久久精品久久久久久动态片 | 久久婷婷色 | 国产免费黄视频在线观看 | 97在线视频免费播放 | 69国产精品视频免费观看 | 国产在线一卡 | 97福利社| 午夜av色| 91在线视频免费91 | www日韩在线 | 成 人 黄 色视频免费播放 | 亚洲影院国产 | 日韩精品一区二区三区在线视频 | 天天操天天射天天 | www狠狠| 免费观看福利视频 | 开心色激情网 | 国产精品av在线免费观看 | 97精品视频在线播放 | 国产在线一卡 | 99精品视频免费看 | 欧美国产日韩一区二区三区 | 亚洲一区免费在线 | 欧美性一级观看 | 99精品视频在线观看播放 | 久久久久成人免费 | 亚洲男男gaygay无套 | 成人午夜黄色影院 | 精品亚洲va在线va天堂资源站 | 97超碰免费在线 | 欧美一区二区日韩一区二区 | av中文字幕av | 国产亚洲观看 | 蜜桃传媒一区二区 | 999久久精品 | 在线看一区 | 美女天天操 | 色资源网免费观看视频 | 国产原创av在线 | 狠狠干夜夜| 国内精品亚洲 | 国产精品欧美久久久久三级 | 永久免费的av电影 | 黄色大片免费网站 | 五月天国产精品 | 色视频在线观看 | 五月婷婷丁香网 | 久久99视频 | 黄网站色| 久色小说| av日韩中文 | 成人影片在线播放 | 色综合中文综合网 | 成人在线你懂得 | 久久精精品视频 | 国产精品视频在线看 | 欧美精品午夜 | 久久免费在线观看 | 天天爽天天爽夜夜爽 | 欧美精品亚洲二区 | 国产999精品 | av网站地址| 成年人三级网站 | 亚洲禁18久人片 | 97视频在线观看播放 | 欧美日韩在线网站 | 欧美激情精品久久久久久免费印度 | 欧美精品久久久久久久久久 | 久久99热国产 | 在线观看韩国av | 狠狠色噜噜狠狠狠狠2022 | 久久午夜电影网 | 成人av影视| 国产黄a三级三级 | 五月天综合婷婷 | 黄色国产在线 | 国产剧情一区二区在线观看 | 香蕉视频久久久 | 999视频网 | 亚洲欧美日韩一区二区三区在线观看 | 播五月婷婷 | 五月婷在线观看 | 99久久超碰中文字幕伊人 | 成人av电影免费在线观看 | 国产精品6999成人免费视频 | 91视频网址入口 | 人人藻人人澡人人爽 | 日日日干 | 91香蕉国产在线观看软件 | 国产成人在线精品 | 波多野结衣在线视频一区 | 日韩在线网 | 丁香国产视频 | 国产不卡在线观看视频 | 精品久久久久久一区二区里番 | 黄网站www| 日本91在线| 亚洲国产日韩欧美在线 | 欧美精品在线一区二区 | 不卡av免费在线观看 | 国产免费片 | 麻豆视频91 | 中文字幕人成乱码在线观看 | 麻豆传媒视频在线免费观看 | 欧美精品一区在线 | 日本性xxx| 看片在线亚洲 | 国产精品6| 夜色资源站wwwcom | 精品福利在线观看 | 成人免费在线播放 | 国产亚洲成av人片在线观看桃 | 亚洲欧美日本一区二区三区 | 91综合视频在线观看 | 日韩国产欧美视频 | 黄网站www| 一区二区中文字幕在线播放 | 亚洲一区动漫 | 欧美性色综合 | 一本色道久久综合亚洲二区三区 | 人人搞人人爽 | 狠狠色丁香婷婷综合久小说久 | 成人91免费视频 | 国产精品青青 | www国产精品com | 久久艹艹 | 亚洲精品国产精品99久久 | 三三级黄色片之日韩 | 欧美日本高清视频 | 亚洲成人黄色 | 操操碰 | 在线看日韩av | 日韩亚洲在线 | 精品视频免费 | 激情www | mm1313亚洲精品国产 | 1024手机看片国产 | 日韩高清免费在线 | 最近更新好看的中文字幕 | 日韩在线免费小视频 | 成人久久免费 | 一区二区三区四区五区六区 | 99久久9 | 精品久久久久久亚洲综合网站 | 激情婷婷 | 国产一区在线精品 | 久久久久久久久久久久久9999 | 日韩在线观看第一页 | 成人cosplay福利网站 | 黄色综合 | 久久精国产 | 九九热99视频 | 天天操月月操 | 日韩亚洲欧美中文字幕 | 99精品免费在线观看 | 狠狠色丁香婷婷综合最新地址 | 久久久久亚洲最大xxxx | 国产99在线播放 | 日韩专区一区二区 | 日韩三级视频 | 99精品在线视频观看 | 91精品国产入口 | 97在线观看免费高清 | 玖玖视频精品 | 久久精品精品电影网 | 韩国三级一区 | 粉嫩av一区二区三区四区五区 | 手机色站| 99人久久精品视频最新地址 | 色是在线视频 | 97免费在线观看视频 | 久久久天天操 | 国产黑丝袜在线 | 欧美粗又大 | 日韩一级网站 | 人人爱天天操 | 亚洲二区精品 | 国产成人综 | 免费男女羞羞的视频网站中文字幕 | 午夜久久网站 | 91干干干 | 国模一二三区 | 国产精品久久久久久久久免费 | 天天爽网站 | 婷婷五天天在线视频 | 久草久草久草久草 | 久久亚洲影视 | 色99色| 日韩理论在线观看 | 人人超碰在线 | www.超碰97.com| 1024在线看片| www色网站 | 中文字幕在线观看亚洲 | 色资源网免费观看视频 | 91看片在线观看 | 免费观看黄色12片一级视频 | 97色婷婷成人综合在线观看 | 国产一级久久 | 少妇按摩av| 免费在线观看av网站 | 日韩av中文字幕在线免费观看 | 六月丁香婷婷网 | 成人黄色av网站 | 天天操天天干天天摸 | 激情电影影院 | 久久精品视频5 | www免费看片com | 欧美日韩亚洲第一 | 黄色成人影院 | 中文字幕欧美日韩va免费视频 | 国产成人黄色 | 91九色视频在线 | 91亚洲精品乱码久久久久久蜜桃 | 久久久久激情视频 | 深爱婷婷网 | 一级免费观看 | 91日韩精品一区 | 欧美日韩国产一二三区 | 成人资源在线 | 久久国产精品久久精品 | 亚洲精品乱码白浆高清久久久久久 | 免费看片黄色 | 久久久久在线观看 | 青春草国产视频 | 96国产精品视频 | 天堂在线成人 | 日韩视频一区二区三区 | a爱爱视频 | 久久精品福利视频 | 亚洲精品国产精品乱码在线观看 | 狠狠色狠狠色 | 色婷婷www| 欧美日韩性生活 | 日韩精品中文字幕在线 | 久久综合成人 | 国产粉嫩在线 | 久久国产系列 | 九七人人干 | 又黄又刺激的网站 | 四虎免费在线观看视频 | 亚洲综合色丁香婷婷六月图片 | 午夜精品中文字幕 | 免费看黄网站在线 | 久久国产精彩视频 | jizz18欧美18 | 久久精品一区二 | 色噜噜噜噜 | 免费97视频| 丁香婷婷色综合亚洲电影 | 夜色.com | japanesefreesex中国少妇 | 天天伊人狠狠 | 有码中文字幕在线观看 | www.狠狠操.com | 人人爽人人爽人人爽学生一级 | 国产123av | 亚洲黄色三级 | 午夜精品久久久久久99热明星 | 国产精品免费久久久久影院仙踪林 | 久久久久国产精品免费 | 日本精品一区二区 | 丁香五月亚洲综合在线 | 人人爱人人做人人爽 | 欧美激情第28页 | 成人a级网站 | 免费在线电影网址大全 | 一二三区视频在线 | 91视频免费网站 | 欧美一区二区精品在线 | 在线国产视频一区 | 一区中文字幕 | 色综合久久久久 | 免费黄色av. | 久久中文字幕视频 | 国产福利一区在线观看 | 二区视频在线观看 | 精品国产电影一区二区 | 亚洲精品国产精品国自产在线 | 综合久久影院 | 最近中文字幕免费视频 | 亚洲精品1234区 | 日本黄色免费在线观看 | 麻豆视频大全 | 久久久久久网址 | 色五婷婷 | 天堂av在线中文在线 | 97色在线| 国产欧美在线一区二区三区 | 天天色综合1| aaa毛片视频| 中文字幕 国产视频 | 国产亚洲一级高清 | 欧美精品国产综合久久 | 免费观看黄 | 韩国精品视频在线观看 | 亚洲码国产日韩欧美高潮在线播放 | 精品在线免费观看 | 欧美激情精品久久久久久变态 | 天天干天天拍天天操天天拍 | 国产高清视频网 | 日韩在线视频不卡 | 99久久99久久精品国产片果冰 | 中文字幕一区2区3区 | 五月婷婷中文网 | 日韩精品中文字幕在线 | 免费黄色网址大全 | 亚洲天堂网在线视频 | 综合网成人 | 国产精品黑丝在线观看 | 国产成人久久精品 | 国产一级免费观看 | 在线v | 亚洲成人av一区 | 99精品国产亚洲 | 黄色网中文字幕 | 国产精品黑丝在线观看 | 黄色网www | 国产尤物视频在线 | 国产精品久久久久久久av电影 | 99久久精品无码一区二区毛片 | a视频在线看 | 国产美女精品视频 | 808电影免费观看三年 | 亚洲欧美一区二区三区孕妇写真 | 不卡电影免费在线播放一区 | 欧美色一色 | 久久久久高清毛片一级 | 日韩精品在线看 | 欧美激情精品久久久久久 | 免费一级特黄录像 | 国内久久精品视频 | 色香天天| 色资源网免费观看视频 | 97视频免费观看 | 最近中文字幕高清字幕在线视频 | 亚洲人成人在线 | 亚洲作爱| 久久久久久久久久久高潮一区二区 | 国产精品久久99综合免费观看尤物 | 96亚洲精品久久久蜜桃 | 久久免费视频国产 | 三级黄色大片在线观看 | 在线观看国产亚洲 | 超碰免费av | 日韩一区二区三区高清在线观看 | 在线视频 区 | www.日本色 | 婷婷五月色综合 | 亚洲伦理一区二区 | 亚洲艳情 | 一区二区三区免费在线播放 | 91av蜜桃| 亚洲免费专区 | 国产精品男女视频 | 日批网站在线观看 | 色综合在 | 97超碰成人在线 | 天天干天天插伊人网 | 亚洲人成综合 | 一区二区三区在线不卡 | 热久久视久久精品18亚洲精品 | wwwwww黄| av在线播放网址 | 波多野结衣在线视频一区 | 97色综合 | 91视频在线观看下载 | 狠狠操狠狠操 | 久久综合精品一区 | 午夜色大片在线观看 | 美女网站视频一区 | 国产日韩欧美在线影视 | 国产色在线观看 | 国产玖玖在线 | 手机av在线网站 | 色欧美日韩 | 亚洲免费色 | 日韩欧美第二页 | 日日干干| 最新国产精品亚洲 | 一区二区三区四区五区六区 | 天天爽天天碰狠狠添 | 国产成人一区二区三区电影 | 久久人人爽人人爽人人片av软件 | 国产一区二区在线免费播放 | 精品成人网 | 久久久国产精品网站 | 男女激情片在线观看 | av丝袜在线| 黄色毛片视频 | av中文字幕不卡 | av直接看 | 九九热精品视频在线观看 | 波多野结衣视频一区 | 久草免费福利在线观看 | 国产又粗又长的视频 | 欧美精品在线免费 | 婷婷久久综合网 | 在线观看黄网 | 色综合久久88色综合天天免费 | 丁香导航| 99热这里只有精品免费 | 成人在线观看网址 | 国内精品视频免费 | 免费亚洲成人 | 国产二区电影 | 天天看天天干 | 午夜在线看片 | 国产最新91 | 高清精品视频 | 国产精品欧美精品 | 欧美大片www | 91超级碰碰| 国产精品久久久久影院 | 91麻豆国产 | 中文字幕国产一区二区 | 免费黄色av片 | 国产精品久久久久免费观看 | 欧美精品在线观看一区 | 97人人澡人人爽人人模亚洲 | 国产成人三级三级三级97 | 亚洲精品久久久久久久不卡四虎 | 久久艹在线观看 | 男女激情麻豆 | 国产短视频在线播放 | 色综合亚洲精品激情狠狠 | 色综合色综合久久综合频道88 | 亚洲理论视频 | 日韩一区二区三区高清在线观看 | 天天干天天干天天 | 亚洲区精品 | 天天干夜夜擦 | 一区二区三区国 | 国产免费又黄又爽 | 亚洲精品www | 视频国产一区二区三区 | 精品久久综合 | 日韩欧美精品一区二区三区经典 | 视频二区 | 亚洲精品日韩在线观看 | 日韩中文字幕免费在线观看 | 久久久www| 午夜影院在线观看18 | 色婷婷丁香 | 精品久久久久久久久久久院品网 | 国产精品久久久久久久久久白浆 | 夜夜高潮夜夜爽国产伦精品 | 久免费视频 | www.色爱 | 免费人人干 | 国产在线精品播放 | 中国精品少妇 | 九九精品视频在线 | av黄色大片 | 五月天.com | 欧美a√大片 | 国产综合精品一区二区三区 | 人人爽久久久噜噜噜电影 | 在线视频你懂 | 国产精品大尺度 | 日本精品在线 | 国产黄色大全 | 欧美日韩在线免费视频 | 色美女在线 | 在线视频你懂得 | 综合色综合|