久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務建站與企業(yè)官網運營的一線實戰(zhàn)洞察。

Spring Boot + 協(xié)同過濾:跳蚤市場商品推薦系統(tǒng)實戰(zhàn)

Spring Boot + 協(xié)同過濾:跳蚤市場商品推薦系統(tǒng)實戰(zhàn) springboot基于協(xié)同過濾算法的跳蚤市場商品推薦系統(tǒng)去年年底幫一個學弟做的畢業(yè)設計題目就是這個“基于協(xié)同過濾的跳蚤市場商品推薦系統(tǒng)”。他從一開始就沒想清楚自己到底要做什么跟我說“導師讓做一個帶推薦功能的商城”結果需求文檔寫得跟淘寶似的。我聽完就樂了你又沒有淘寶級別的數(shù)據(jù)量搞什么高大上的推薦系統(tǒng)呢。你一個校園二手市場用戶撐死幾百人商品幾千件你用什么深度學習、用什么大模型那都是殺雞用牛刀。協(xié)同過濾這種經典算法正好是這個場景下的最優(yōu)解?;藘芍軙r間從需求梳理、表結構設計到算法落地、接口聯(lián)調最后給他整出來一套完完整整能跑的項目。這中間踩了不少坑也總結了一些經驗今天就把整個項目從頭到尾拆解一遍從技術選型到算法實現(xiàn)從數(shù)據(jù)庫設計到部署上線都寫在這里。無論你是要做畢設、課程設計還是單純想了解推薦系統(tǒng)在真實業(yè)務里怎么落地這篇都值得你耐心看完。1. 項目整體設計與思路拆解1.1 核心需求解析先搞清楚這項目到底是干什么的。跳蚤市場說白了就是二手交易平臺學生把自己閑置的教材、數(shù)碼產品、自行車、吉他掛上去賣其他人看到合適的就買走。核心功能就是商品發(fā)布、瀏覽、下單、訂單管理、個人中心這些這些常規(guī)功能網上一抓一大把沒什么技術含量。真正有技術含量的是“推薦”兩個字。系統(tǒng)要能根據(jù)用戶的歷史行為比如瀏覽過什么、收藏過什么、買過什么主動把當前用戶可能感興趣的商品推送給他。這就是協(xié)同過濾算法的應用場景。那為什么不直接做商品分類篩選而是要做推薦呢原因很簡單跳蚤市場跟淘寶京東不一樣這里沒有海量商家和鋪天蓋地的廣告商品全靠搜索和分類很難被看到。比如某個用戶是一名大二學生他剛學完高數(shù)想賣教材另一個大四學生正好在找這本教材。如果靠傳統(tǒng)搜索兩個人必須先知道對方上傳了什么關鍵詞才能匹配。但推薦系統(tǒng)的作用是當大四學生登錄首頁時系統(tǒng)會主動把他可能需要的教材推給他用戶甚至不用搜索就能看到。推薦在這里的價值就是提升交易匹配效率和用戶粘性。1.2 技術選型背后的考量這套系統(tǒng)我選了Spring Boot 2.7 MyBatis Plus MySQL 8.0 Redis Vue 3作為主技術棧推薦算法部分用Python實現(xiàn)??吹絇ython可能有人會問既然都用了Java為什么算法不也用Java寫因為我只取算法計算出來的推薦結果通過JSON接口返回給Java后端算法本身和主系統(tǒng)解耦。比如相似度矩陣計算、用戶商品交互數(shù)據(jù)處理這些用Python的pandas處理比Java方便得多開發(fā)效率完全不是一個量級。Spring Boot就不多說了現(xiàn)在做Java后端項目的標配自動配置省掉一大堆繁瑣的XML配置。MyBatis Plus是我個人比較喜歡的一個ORM框架它比原生MyBatis好在單表操作不需要寫SQL代碼生成器一鍵生成實體類和Mapper太香了。MySQL選8.0是因為對JSON數(shù)據(jù)類型的支持更好后面我們會用到。Redis這個很關鍵它承擔兩個任務一是分布式session存儲解決集群部署時的會話共享問題二是緩存熱點數(shù)據(jù)和推薦結果避免每次刷新頁面都重復計算推薦列表。前端用Vue 3加Element Plus這套組合適合后臺管理系統(tǒng)場景對比Vue 2的選項式APIVue 3的組合式API代碼更簡潔邏輯復用也方便。UI框架用Element Plus能快速搭出清爽的管理后臺這活干了這么多年就說句實話做這種帶后臺管理的項目Element Plus比Ant Design Vue上手更快。1.3 算法選型為什么是協(xié)同過濾協(xié)同過濾算法是推薦系統(tǒng)里最經典的算法之一核心思想就一句話人以群分物以類聚。它的實現(xiàn)主要分兩種思路?;谟脩舻膮f(xié)同過濾User-Based CF是先找到和你興趣相似的用戶看看你相似用戶都買過什么把這些商品推薦給你?;谖锲返膮f(xié)同過濾Item-Based CF則是先算出物品之間的相似度然后根據(jù)你之前買過或瀏覽過的東西給你推薦相似的物品。這兩個方案選哪個我在這里選了基于物品的協(xié)同過濾。為什么看一個具體的運營場景你就明白了某用戶在跳蚤市場瀏覽過一本《數(shù)據(jù)結構》教材基于物品協(xié)同過濾就能算出這本《數(shù)據(jù)結構》教材和《算法導論》教材的相似度很高因為經常被同一批用戶一起瀏覽和購買于是推薦算法就會給這個用戶推《算法導論》的二手書。而基于用戶的協(xié)同過濾算法更適合那種用戶量遠大于商品量、用戶興趣標簽明顯的平臺。但跳蚤市場這個場景校園里用戶就千把人商品卻能不斷新增商品之間的相似關系比用戶之間的相似關系穩(wěn)定得多。所以我最終選擇了Item-Based CF作為主力算法。不過這還不夠協(xié)同過濾有兩個繞不開的痛點一個是冷啟動問題新商品沒有任何用戶行為數(shù)據(jù)協(xié)同過濾就算不出它跟其他商品的相似度一個是數(shù)據(jù)稀疏問題跳蚤市場的用戶行為本來就少矩陣稀疏得跟漁網似的。后面實操部分我們會講怎么用數(shù)據(jù)預處理和兜底策略來處理這兩個坑。2. 數(shù)據(jù)庫設計與核心模塊實現(xiàn)2.1 表結構設計的關鍵細節(jié)數(shù)據(jù)庫是一個業(yè)務系統(tǒng)的地基這里的表結構設計花了不少心思。核心表包括用戶表、商品表、訂單表、收藏表、瀏覽記錄表、評分表、推薦結果表。說幾個關鍵設計的細節(jié)。第一個是用戶表。用戶除了常規(guī)的id、用戶名、密碼、昵稱、頭像、手機號、角色之外我特意加了一個字段叫user_type用來區(qū)分買家和賣家身份。有人可能會說跳蚤市場里每個人不都既是買家又是賣家嗎你說得對但實際運營中有一部分用戶就是只買東西不賣東西為了后續(xù)運營分析的便利還是把角色區(qū)分開了。對于既賣又買的用戶這個字段就標記為both。第二個是商品表。關鍵字段有商品標題、描述、價格、原價、成色、分類、圖片、狀態(tài)。其中成色這個字段是跳蚤市場特有的業(yè)務字段是賣家對商品新舊程度的自評一般分成全新、幾乎全新、輕微使用痕跡、明顯使用痕跡、有瑕疵這五檔這個字段在后續(xù)推薦權重計算里會有大用場。狀態(tài)字段是上架中、已下架、已售出三個值查詢時永遠只查上架中的商品。第三個是訂單表。除了常規(guī)的訂單號、買家id、賣家id、商品id、價格、下單時間、支付時間之外我把訂單狀態(tài)細化成了待付款、待發(fā)貨、已發(fā)貨、已完成、已取消、退款中、已退款七個狀態(tài)。都是做電商的為什么訂單狀態(tài)這么細你應該深有體會不細化后面統(tǒng)計經營數(shù)據(jù)的時候哭都來不及。然后是收藏表和瀏覽記錄表。這兩張表是推薦算法最重要的數(shù)據(jù)來源收藏表記錄了用戶對哪些商品感興趣瀏覽記錄表記錄了用戶看過哪些商品、看了多久。這里有個實用的設計經驗瀏覽記錄表不要只存商品id和瀏覽時間我加了一個duration字段記錄用戶在該商品詳情頁停留的秒數(shù)這個數(shù)據(jù)在后續(xù)算用戶興趣權重時非常好用停留時間長的商品說明用戶確實感興趣。評分表的設計也是推薦系統(tǒng)的重頭戲。表面上用戶可以在購買完成后給商品打分1到5分這是顯式反饋數(shù)據(jù)。但跳蚤市場這類平臺用戶主動評分的行為其實很少所以我在設計評分表時把收藏行為、瀏覽行為、購買行為都歸總到一張偏好記錄表里作為隱式評分的數(shù)據(jù)來源這樣協(xié)同過濾算法的輸入數(shù)據(jù)才夠用。最后是推薦結果表。這張表存協(xié)同過濾算法算出來的推薦結果包含用戶id、商品id、推薦分值、推薦時間、推薦來源推薦來源區(qū)分了是基于協(xié)同過濾算出來的還是用了兜底策略算出來的。為什么要存這張表一是為了方便運營人員排查一個用戶為什么看到這些推薦商品二是方便測試對比算法效果再者是避免一次首頁請求就觸發(fā)一次全量推薦計算直接把已經算好的結果查出來返回就行。2.2 Spring Boot后端架構與業(yè)務層實現(xiàn)后端項目用了經典的三層架構Controller層負責接收請求和參數(shù)校驗Service層實現(xiàn)業(yè)務邏輯Mapper層處理數(shù)據(jù)庫交互。為了避免代碼量太龐大導致后期難維護項目做了一點點領域拆分的動作把用戶、商品、訂單、推薦這四個板塊分成獨立的模塊。用戶模塊相對傳統(tǒng)主要就是注冊、登錄、個人信息修改。注冊邏輯里加了一道基礎的校驗比如用戶名是否已存在、密碼強度是否合規(guī)。密碼存儲用了BCrypt加密這是Spring Security框架提供的加密組件比MD5這種已經被撞庫撞爛的算法要安全得多對畢設項目來說這個安全級別是夠的。商品模塊除了最基礎的增刪改查核心邏輯在于發(fā)布商品的流程里做了圖片上傳和價格合理性校驗。圖片上傳這塊我用了本地存儲方案而不是對象存儲服務因為項目還處在學習演示階段沒必要上云。改一下配置文件里的路徑就行上傳的圖片通過WebMvcConfigurer配置的虛擬路徑映射暴露給前端。商品查詢列表做成分頁接口支持按分類篩選、按價格區(qū)間篩選、按關鍵字模糊搜索。這里我用了MyBatis Plus的Page分頁插件配合LambdaQueryWrapper構造動態(tài)查詢條件單個接口能應對多種組合查詢場景。這塊也沒人用ES做搜索數(shù)據(jù)量在這兒擺著呢殺雞不用牛刀。訂單模塊是業(yè)務邏輯最復雜的一塊。核心難點在于訂單狀態(tài)的流轉管理我用了狀態(tài)機模式來約束訂單狀態(tài)的合法流轉比如已發(fā)貨狀態(tài)不能直接跳到已取消必須是已發(fā)貨才能確認收貨變成已完成。這塊的代碼核心是提前把每種狀態(tài)允許跳轉的狀態(tài)集合定義好每次更新狀態(tài)前做合法性校驗這樣一來臟數(shù)據(jù)的問題就能從源頭上杜絕掉。推薦模塊是我重點設計的。推薦接口從Redis緩存里查推薦結果查不到就走數(shù)據(jù)庫里的推薦結果表數(shù)據(jù)庫里也沒有就觸發(fā)實時推薦計算。這個多級緩存的設計思路很實用避免了每次請求都打數(shù)據(jù)庫或者重復計算推薦結果。2.3 前端界面與交互流程前端部分用的是Vue 3加Element Plus做的核心頁面有首頁、商品詳情頁、購物車頁、訂單管理頁、個人中心頁、發(fā)布商品頁、后臺管理頁。首頁分兩部分頂部是推薦位中間是全部商品列表。推薦位是首頁最重要的一塊這部分直接調用后端的推薦接口推薦結果展示成一行商品卡片每張卡片展示商品封面圖、標題、價格、成色標簽。這里我花了點心思被推薦的商品要打一個“猜你喜歡”的角標因為據(jù)我觀察有推薦標簽的商品點擊率明顯高于普通商品這算是利用推薦算法加運營策略提升整體點擊率的一個小技巧。商品詳情頁展示了商品的完整信息包括圖片、描述、成色、賣家信息同時也展示了相關推薦商品相關推薦的數(shù)據(jù)來源還是協(xié)同過濾算出的相似商品。這個功能是基于物品的協(xié)同過濾的直接體現(xiàn)用戶正在看某個商品系統(tǒng)給他推相似商品促使他繼續(xù)瀏覽。訂單流程是這樣的用戶在商品詳情頁點擊“立即購買”會創(chuàng)建一筆待付款訂單支付成功進入待發(fā)貨狀態(tài)賣家發(fā)貨后進入已發(fā)貨狀態(tài)買家確認收貨后訂單完成。另外做了售后服務功能買家可以發(fā)起退款申請賣家同意后訂單狀態(tài)變成已退款。整個交互流程該有的環(huán)節(jié)一個都沒少。后臺管理頁面主要是管理員視角包括用戶管理、商品管理、訂單管理、數(shù)據(jù)統(tǒng)計管理員可以下架違規(guī)商品可以凍結違規(guī)用戶。這個后臺的權限控制用了最基礎的攔截器方案管理員接口統(tǒng)一走/admin路徑攔截器里校驗當前登錄用戶是不是管理員角色。3. 協(xié)同過濾推薦算法的詳細設計與落地3.1 數(shù)據(jù)預處理從原始行為到評分矩陣數(shù)據(jù)預處理是協(xié)同過濾算法工程質量的決定性因素比選擇算法本身還重要。所有推薦算法的輸入都是用戶對物品的評分矩陣但跳蚤市場的原始數(shù)據(jù)里根本沒有現(xiàn)成的評分數(shù)據(jù)全靠我們自己做數(shù)據(jù)加工。我們把用戶對商品的反饋分為幾個等級。收藏行為權重是3分加購物車是4分購買行為是5分瀏覽行為按停留時間折算成0.5到2分。為什么不直接用統(tǒng)一分數(shù)呢這背后的邏輯是一個用戶買了某個商品說明他對這個商品有強興趣這個信號比單純的瀏覽強得多。如果不同強度的行為統(tǒng)一記1分那算法算出來的相似度區(qū)分度就很差。具體的偏好值計算邏輯我寫成了Python的pandas代碼片段這里是核心部分import pandas as pd import numpy as np def build_user_item_matrix(): # 讀取收藏記錄 df_fav pd.read_sql(SELECT user_id, product_id, create_time FROM fav_record, engine) df_fav[action_weight] 3.0 # 讀取加購物車記錄 df_cart pd.read_sql(SELECT user_id, product_id, create_time FROM cart_record, engine) df_cart[action_weight] 4.0 # 讀取購買記錄 df_order pd.read_sql(SELECT buyer_id as user_id, product_id, create_time FROM orders WHERE status已完成, engine) df_order[action_weight] 5.0 # 讀取瀏覽記錄按停留時間折算 df_view pd.read_sql(SELECT user_id, product_id, duration FROM view_record, engine) df_view[action_weight] df_view[duration].apply( lambda x: 0.5 if x 10 else (1.0 if x 30 else 2.0) ) # 合并所有行為并聚合 df_all pd.concat([df_fav[[user_id,product_id,action_weight]], df_cart[[user_id,product_id,action_weight]], df_order[[user_id,product_id,action_weight]], df_view[[user_id,product_id,action_weight]]], ignore_indexTrue) df_score df_all.groupby([user_id,product_id])[action_weight].sum().reset_index() df_score[action_weight] df_score[action_weight].clip(upper10) # 透視成用戶-商品矩陣 matrix df_score.pivot_table(indexuser_id, columnsproduct_id, valuesaction_weight) matrix matrix.fillna(0) return matrix看著代碼不難實際踩過的坑是在寫入推薦結果表的時候如果用戶行為特別多全量寫入的耗時就會比較長容易把接口拖垮。所以我把離線計算和接口請求做了解耦離線計算出的推薦結果由后臺任務寫入推薦結果表接口只做查詢動作。這個等下面部署部分詳細說。3.2 Item-Based協(xié)同過濾的相似度計算基于物品的協(xié)同過濾核心分兩步第一步算物品之間的相似度矩陣第二步根據(jù)用戶歷史行為把相似度高的物品推薦給用戶。物品相似度的計算方式有很多種最常見的有余弦相似度、皮爾遜相關系數(shù)、Jaccard相似度。我這里用的是余弦相似度因為這個指標計算簡單效果穩(wěn)定對數(shù)據(jù)稀疏場景的容忍度也相對更高。余弦相似度的公式看著抽象但其實通俗解釋一下就是兩個向量夾角的余弦值夾角越小說明兩個向量越相似。放在場景里理解就是計算兩件商品被同一群用戶產生過行為的一致程度。比如商品A被用戶甲、乙、丙瀏覽或購買過商品B也被用戶甲、乙、丙瀏覽或購買過那么這兩件商品的向量就很接近相似度就高。在Python里計算也很簡單直接調用scikit-learn庫的pairwise_distances函數(shù)就能得到物品之間的相似度矩陣。from sklearn.metrics.pairwise import cosine_similarity # 矩陣轉置變成商品-用戶的矩陣行列原來是用戶-商品 item_matrix matrix.T # 計算商品之間的余弦相似度 item_similarity cosine_similarity(item_matrix) # 轉成DataFrame便于處理 item_sim_df pd.DataFrame(item_similarity, indexitem_matrix.index, columnsitem_matrix.index)算完相似度矩陣后關鍵一步是做相似商品的篩選。一刀切地把所有相似商品都算作候選是不行的一定要設置相似度閾值做過濾我用的閾值是0.5低于0.5的相似度不參與推薦。同時每個商品的相似商品最多保留Top 20。這里控制一下計算量和推薦精度不然相似度矩陣全量算下來容易內存爆炸。3.3 生成推薦列表的核心邏輯有了物品相似度矩陣接下來就是為用戶生成Top N的推薦列表了。核心邏輯是找出用戶最近有過正反饋行為的商品然后去相似度矩陣里找出這些商品的相似商品按相似度加權求和排個序取前N個。我在實現(xiàn)的時候專門加了一個時間衰減函數(shù)。理由是跳蚤市場這類平臺用戶在一個月前瀏覽過的商品和昨天剛瀏覽過的商品在當前時刻的興趣權重不應該是一樣的。時間衰減函數(shù)距離今天越近的行為權重越高越久遠的行為權重越低用指數(shù)衰減來模擬這個規(guī)律效果明顯好于不衰減的方案。核心代碼是這一段import math from datetime import datetime def generate_recommendations(user_id, user_item_matrix, item_sim_df, top_n10, decay_factor0.98): # 用戶歷史行為 if user_id not in user_item_matrix.index: return [] user_row user_item_matrix.loc[user_id] # 找出用戶有行為的商品 interacted_items user_row[user_row 0].index.tolist() if not interacted_items: return [] # 計算每個候選商品的推薦得分 scores {} for item in interacted_items: # 獲取當前商品相似度最高的幾個商品 sim_scores item_sim_df[item].drop(labelsinteracted_items, errorsignore) sim_scores sim_scores[sim_scores 0.5].sort_values(ascendingFalse)[:20] # 用戶對當前商品的興趣強度 user_interest user_row[item] for sim_item, sim_value in sim_scores.items(): if sim_item not in user_row or user_row[sim_item] 0: scores[sim_item] scores.get(sim_item, 0) user_interest * sim_value # 按得分排序取TopN ranked sorted(scores.items(), keylambda x: x[1], reverseTrue)[:top_n] return ranked還記得前面對瀏覽記錄做了時長折算嗎在這里就用上了瀏覽時間長的商品user_interest值高一些直接影響推薦得分這樣用戶只看了一眼的商品就不會成為推薦的主參考而認認真真看了五分鐘的商品則會成為主參考。這個細節(jié)不算很難但就是這些細節(jié)決定了算法的推薦質量是普通水平還是相對優(yōu)良。運營的A同學做了測試同一個用戶用帶時間衰減和不帶時間衰減兩版算法跑出來的結果第一屏的推薦商品準確率差了大概15%。很直觀的效果差異。3.4 冷啟動問題的兜底方案協(xié)同過濾算法最惡心的坑就是冷啟動。系統(tǒng)剛上線商品和用戶行為數(shù)據(jù)都很少矩陣稀疏到幾乎每行每列都是0這時候算法就算跑出來結果也基本等于瞎推薦。冷啟動分為用戶冷啟動和物品冷啟動。新注冊的用戶沒有任何行為數(shù)據(jù)推薦算法拿什么算相似度新上架的商品沒有任何人看過買過相似度矩陣里它跟誰都不相似。我的兜底方案分了三層來做。第一次兜底對于完全沒有行為數(shù)據(jù)的新用戶直接推薦平臺的熱門商品。熱門商品怎么定義就是最近7天瀏覽次數(shù)最多、收藏次數(shù)最多的商品按權重排序取前20個。這個策略簡單粗暴但極其有效新用戶進來看到大家都在看的商品至少不會覺得推薦完全不相關。第二次兜底對于有少量行為的用戶如果行為數(shù)據(jù)不足以支撐協(xié)同過濾就用基于內容的推薦方式。具體實現(xiàn)是將商品分成若干個分類比如“教材教輔”、“數(shù)碼產品”、“生活用品”、“運動戶外”等然后對用戶瀏覽過的商品類別做統(tǒng)計找出用戶最感興趣的Top3品類在這些品類下按價格、熱度綜合排序推薦一些好商品。這套基于內容的方案原理不復雜但實現(xiàn)后對冷啟動用戶的推薦效果立竿見影。第三次兜底新上架的商品在新品期內也就是上架后72小時內在推薦結果里做一個加權操作。具體做法是給新商品一個初始曝光權重這樣它們在用戶生成個性化推薦列表時有機會被帶上。雖然新商品沒有協(xié)同過濾的相似度數(shù)據(jù)但我們可以在Item-Based協(xié)同過濾的基礎上額外附加一批新商品推薦設置20%的推薦位留給這類商品。這樣就同時照顧了用戶體驗和新品曝光。這三層兜底方案加起來的實現(xiàn)成本不高但對整個系統(tǒng)的推薦可用性提升是決定性的。沒有兜底方案的推薦系統(tǒng)在早期階段基本是廢的。4. 熱門問題與性能優(yōu)化實錄4.1 推薦結果不準確怎么辦在調這個系統(tǒng)時被問得最多的問題就是推薦結果不準推出來的商品用戶根本不想看。這類問題基本可以按下面的思路逐層排查。第一步先檢查數(shù)據(jù)量。如果用戶行為記錄不到50條那協(xié)同過濾效果不好是正常的沒有足夠的歷史數(shù)據(jù)任何推薦算法都白搭。解決辦法是用前面說的兜底策略優(yōu)先走熱門推薦或基于內容推薦。第二步檢查評分矩陣的稀疏度。要算一個數(shù)據(jù)指標矩陣中非零元素占總元素的比例如果低于1%那協(xié)同過濾的效果就會打折。跳蚤市場數(shù)據(jù)天生稀疏解決辦法是對行為數(shù)據(jù)進行加權比如購買過的商品權重調高到5分瀏覽只有1分提高強信號數(shù)據(jù)的占比。第三步檢查相似度閾值。我默認設置0.5但這個值不是固定的。如果發(fā)現(xiàn)推薦的相似商品太少可以適當降低到0.3如果推薦的相似商品明顯沒多大相關性就調高到0.6。這個參數(shù)需要在不同數(shù)據(jù)集上反復試驗。第四步看推薦結果表的兜底來源占比。我們每一條推薦記錄都帶一個來源字段如果發(fā)現(xiàn)大量推薦走的都是熱門推薦而不是協(xié)同過濾說明協(xié)同過濾的有效覆蓋率不足需要針對性排查是數(shù)據(jù)稀疏還是相似度矩陣計算錯誤。4.2 Redis緩存與接口響應優(yōu)化推薦接口和首頁接口是性能考量的重中之重。首頁接口要聚合推薦商品、熱門商品、最新商品等多個數(shù)據(jù)源如果沒有緩存數(shù)據(jù)庫壓力會非常大。我用Redis做了一個兩級緩存的方案。第一級緩存存推薦商品的Id列表Key設計成recommend:user:{userId}有效時間設成了30分鐘。為什么是30分鐘而不是更長因為推薦結果如果太久不更新用戶每次打開看到的東西都一模一樣時間長了就會產生審美疲勞30分鐘算是一個兼顧實時性和緩存命中率的折中值。第二級緩存存了商品本身的詳細信息Key設計成product:info:{productId}有效時間設成2小時。第一級緩存存儲推薦id列表第二級緩存存儲商品詳細信息。三級緩存把商品詳情從數(shù)據(jù)庫里挪到Redis里商品詳情的查詢壓力大幅下降實測下來首頁的接口響應時間從150毫秒降到了50毫秒以下流暢度大幅提升。還有一點要注意的細節(jié)修改商品信息、下架商品時必須同步刪除對應的商品緩存不然用戶看到的還是舊的商品信息這就是經典的一致性維護問題。我實現(xiàn)方式是在商品更新的Service方法里統(tǒng)一調用Redis刪除操作寧多刪勿漏刪。4.3 并發(fā)扣減庫存與訂單一致性跳蚤市場和常規(guī)電商有一個本質區(qū)別每件商品只有一個庫存量。這意味著如果兩個用戶同時下單購買同一個商品只能有一個人成功另一個人必須收到“手慢了商品已被購買”的提示。如果只是減庫存不加控制用常規(guī)的先查庫存再更新庫存的方式高并發(fā)場景下就會產生超賣問題。兩個請求同時查到庫存是1都判斷可以買都執(zhí)行了下單最后庫存變成-1這就是超賣。解決辦法是用數(shù)據(jù)庫行鎖配合樂觀鎖。在扣減庫存時執(zhí)行一條帶條件更新的SQL語句只有當前庫存大于0時才允許扣減同時受影響的行數(shù)為1才代表更新成功沒成功就說明已經被別人搶了。UPDATE product SET stock stock - 1 WHERE id #{productId} AND stock 0MyBatis加不加Transactional這個細節(jié)也要留意。扣減庫存、創(chuàng)建訂單這兩個操作必須加事務任何一個失敗都要回滾保證數(shù)據(jù)一致性。這段代碼是整個訂單流程里最容易出bug的地方一定要把單元測試寫好模擬并發(fā)場景反復壓測。4.4 定時任務與離線計算調優(yōu)推薦結果的計算不需要實時跑更合理的做法是定時任務離線計算。我用了Spring Boot內置的Scheduled注解實現(xiàn)定時任務固定在每天凌晨3點全量計算一次這個時間點服務器負載最低。每天凌晨計算的是全量推薦結果寫入推薦結果表。另外內部做了一套增量計算邏輯每30分鐘計算一次只算最近30分鐘內有新行為數(shù)據(jù)的那些用戶更新他們的推薦結果保證推薦列表的時效性。兩套計算邏輯配合起來全量保證數(shù)據(jù)基礎增量保證實時反饋服務器壓力也不會太大。離線計算的核心數(shù)據(jù)結構是物品相似度矩陣全量計算時我會把它序列化保存到本地文件。增量計算時加載這個相似度矩陣只更新行為發(fā)生變化的用戶避免每次都要全量重新加載所有數(shù)據(jù)。這個優(yōu)化直接把定時任務的平均執(zhí)行時間從十幾分鐘壓到了幾分鐘。5. 部署上線與運營落地5.1 項目部署與安全合規(guī)部署方案選了一臺2核4G的云服務器Linux系統(tǒng)。后端項目打成JAR包通過systemd配置成守護進程開機自啟加崩潰自動重啟。前端用Nginx托管靜態(tài)文件后端接口用反向代理映射到域名路徑下Nginx是前端構建產物最經典的托管方案后端接口也走Nginx代理順便解決跨域問題。Java啟動參數(shù)里-Xms和-Xmx設為512m配合上G1垃圾回收器。2核4G的服務器配置跑這套系統(tǒng)完全可以駕馭實測并發(fā)在50左右時CPU占用率大約40%響應延遲在100毫秒內對校園場景來說綽綽有余。這里要多提一句合規(guī)問題。一個跳蚤市場交易平臺不管規(guī)模大小該做的合規(guī)操作一樣不能少用戶實名注冊手機號驗證碼校驗必須有商品發(fā)布要做敏感詞過濾違規(guī)內容條目要提前準備交易糾紛要有申訴機制和客服入口。我特別提醒了學弟平臺方對發(fā)布違禁品的用戶要及時警告和處理這些不是可選項而是必選項。隱私數(shù)據(jù)這塊用戶的手機號和地址在數(shù)據(jù)庫里需要做加密存儲日志打印也要脫敏處理。5.2 數(shù)據(jù)冷啟動后的運營節(jié)奏系統(tǒng)剛上線的最初兩周是冷啟動期數(shù)據(jù)量自然是很貧乏的。這個階段推薦系統(tǒng)的核心任務不是算法優(yōu)化而是制造初始數(shù)據(jù)。我的做法是在正式運營前先導入一批模擬數(shù)據(jù)。用Python的Faker庫生成模擬用戶、模擬商品、模擬瀏覽和模擬購買記錄大概構造成500個用戶、2000件商品、3萬條行為數(shù)據(jù)。這波操作對冷啟動階段的推薦系統(tǒng)至關重要——協(xié)同過濾算法的效果和輸入數(shù)據(jù)的規(guī)模強相關沒有這批模擬數(shù)據(jù)系統(tǒng)上線后運行一整周也未必能收集到足以支撐算法的數(shù)據(jù)量也就談不上推薦效果。這些模擬數(shù)據(jù)的生成不是隨機亂造的要符合跳蚤市場的業(yè)務規(guī)律。比如大四學生購買英語考研資料的記錄相對集中大二學生瀏覽高數(shù)教材的記錄多一些這樣人為構造出幾類標簽清晰的用戶群體協(xié)同過濾才有足夠的行為交集可以計算推薦結果才能顯得相對合理。6. 常見問題排查與避坑指南微服務權限管理系統(tǒng)是這幾年非常經典的一套畢業(yè)設計選題但我見過太多人把它做成純粹的CRUD后臺那樣反而顯得沒深度。我這套跳蚤市場系統(tǒng)的設計思路不一樣它的加分項在于推薦算法的運用——不是給用戶堆功能頁面而是把底層算法和業(yè)務系統(tǒng)結合成一個整體。最近有學弟問這套系統(tǒng)能不能擴充成校園綜合二手教學系統(tǒng)這個想法完全可以做把商品對象抽象成類型字段加上閑置教材、尋求輔導、尋找拼車伙伴這些業(yè)務場景就能復用現(xiàn)成框架。完成一個基礎版本之后還可以繼續(xù)優(yōu)化算法參數(shù)調整、重構相似度計算、引入更細的行為權重策略等持續(xù)打磨細節(jié)比推倒重來做花哨的新功能要更值錢。復盤自己這幾年做過的項目有推薦算法的價值感確實會高很多這類系統(tǒng)在面試考察中對項目深度的體現(xiàn)非常加分。最后分享一個排查問題的技巧。有用戶反饋推薦列表刷不出來我的排查思路按這個順序進行先看請求有沒有打到后端是用瀏覽器開發(fā)者工具的Network面板看的再查Redis里有沒有緩存數(shù)據(jù)用tkey的命令然后查數(shù)據(jù)庫推薦結果表有沒有數(shù)據(jù)最后看定時任務日志有沒有正常執(zhí)行。查了幾次就發(fā)現(xiàn)是定時任務在數(shù)據(jù)量大的時候執(zhí)行超時任務被跳過導致推薦結果表沒有更新。解決方式是給定時任務加一個分布式鎖同時把全量計算改成增量計算這個問題就徹底解決了。如果打開一篇文章到這里你正在為推薦系統(tǒng)相關的項目發(fā)愁這套思路和代碼實現(xiàn)完全可以復用到你自己的業(yè)務場景里核心是掌握“數(shù)據(jù)預處理 - 相似度計算 - 推薦生成 - 兜底策略”這條主線邏輯剩下的都只是實現(xiàn)細節(jié)問題。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
欧美黄色图片| 一本大道不卡一二三区| 97超碰久久| 麻豆精品久久久久久久| 天堂v无码免费视频| 欧美视频激情久久久久久| 日韩精品人妻一区二区| 色哟哟国产精品免费网址| 久久精品国产亚洲5555| 韩国女主播青草在线| 91香蕉视频在线观看免费| 欧美熟女妇同| 成人一区二区三区四区| 免费一级欧美片片线观看| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 久草精品国产99| 亚洲熟久久| 国产精品无码av| 日本黄色天堂| 99热精品青草在线| 日韩精品视频在线观看一卡二卡| 日本女人久久久| 91久久堂| 日本在线999| 久久精品72| 婷婷在线精品| 啪啪啪东京| 另类专区加勒比| 亚洲视频,小说| 精品 码产区一区二-1080P高清在线www-B029AV | 国产AV中文| 日本免费二区三区| 欧成人在线| 久操99| 床上啊啊啊一区二区三区| 高清无码网址| 美国日韩黄色片| 97超碰欧美| 91亚洲色图| 超碰美国| 青娱乐福利99| 精品国产丝袜一区二区三区乱码| 国产成人拍国产亚洲精品| 久久久九精品| 后入日本1234| 色噜噜狠狠色综无码久久| 东北操逼| 欧美亚洲AN| 伊人久久88国产女| 久悠悠av| 麻豆乱码久久精| 69综合网| 午夜福利在线视频1000| 毛片麻豆91糖心精品毛情片| 欧美色爱综合| 18禁久久| 97天天操| 熟女五十路一区二区三| 午夜120视频在线观看| 乱伦av麻豆| 国产极品一区二区三区三州| 开心五月婷婷| 久久久久久久78| 97久精品| 亚洲一二三四区在线免费看视频| 欧美夜色| 久操91视频| 欧美性性性| 97日韩欧美亚洲| 91人妻人人澡人人爽人人精品| 91五十路| 亚洲va有码在线天堂| 亚洲日韩美女中文字幕乱| 人妻精品视频一区二区三区| 中文精品一区二去| 国产精品老师| 国产AV天美传媒一区二区三区 | 有码免费观看| 麻豆精品三区视频| 免费岛国一级片| 51一区二区三区| 黑人狂躁日本妞一区二区三区| 国产精品久久久久中文字幕| 日欧美色| 97免费在线观看| 久操网无码在线| 香一区二区三区| 青青草视频在线观看一区二区| 亚洲一区二区三区中文字幕| 综合五月婷婷亚洲一区| 四虎精品亚洲| 日韩亚洲精品一区二区| 亚洲天堂另类小说男人| 欧美性Fer办公室秘书| 一中国女人毛片水真多| 去干网最新版| 死我十八禁| 五月丁香黄色网| AV中文在线| 爱av免费| 国产精品一区二区三| 国内毛片国产欧美拍| 日本精品无码三级网站| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 夫妻天天操岛国视频| J?P?NESEHD熟女熟妇伦| 久久一二三四五六七八九区区区 | 日本人妻天堂网站在线播放| av三级电影在线播放| 2024人人操人人摸| 91人妻丝袜无码| 久久久久久十| 日韩美女操b| 欧美激情视频一区二区三区不卡| 99re免费| 色老汉色| 午夜福利免费精品视频| 欧美一二三区四五区| 美女诱惑久久| 91爰爱欧美| 嫩草在线视频| 综合97久久| 囯产精品久久久久久久久久梁医生| 色色婷婷五月天| 日本 免费 一区二区三区 久久香蕉 | 久久婷婷电影网| 超碰 97国产熟女| 男人在线天堂| 少妇69中文| 欧美αv.com| 夜夜操一区二区| 97亚洲欧美| 天天欧美欧美亚洲网| 欧美日韩大陆黑人少妇99| 搡老女人老91妇女老熟女| 黄片aaaaa一区| 日日爽熟女| 五月婷婷啪啪| 黄片免费日韩| 91视频女生| 男人的天堂亚洲| 97免费在线观看| 97精品国产97久久久久久户外免费| 97综合网| 龙兴卡官方查询| 中文字幕在线观看永久| 亚洲情色 无码专区| 黄色高清无码无码破解免费暗网| 欧美亚洲成人在线一区二区三区| 亚洲精品国产精品乱码不99| 蜜桃臀久久| 香蕉久久国产AV一区二区| 天天综合网日韩| 97超碰亚洲| 日韩成人大片一区二区| 天天综合-91入口| 国产熟女精品区| 999精品国产高清一区二区| www鬼畜国产男人的天堂| 亚洲国产成人精品久久久国产成人一区二区| 手机不卡视频不卡在线一二三区 | 中文字幕-区二区三区四区视频中国| 涩涩这里只有精品视频| 欧美九九九| 色色色欧美| 国产美女自拍AV| 久草看看看| 大香蕉天天看妹子| 国产精品久久9| 熟女视频久久| 五月丁香六月综合缴清无码| 东京热毛片调教| 久久久久久国产无码精品| 亚洲无码一区成人免费午夜| 中文在线久久字幕| 日韩国语字幕| 国产伦乱91| 搡老熟女免费视频| 国产99热| chaopen97久久| 91美女视频在线| 亚洲天堂区| 日韩欧美午夜视频在线| 国产麻豆福利av在线播放| 亚洲欧美伦综合| 国产性爱欧美性爱在线 | 亚洲精品xxx| 色吊丝 日日骚 清纯唯美| 97碰碰日本乱偷人妻中文的| 中文字幕一区二区三区蜜臀| 午夜人妻精品综合在线| 熟女突然公开看18禁影片 | 国产99 中文字幕日韩小视频| 免费看黄片现成| 夜夜欢天天干| 精品对白久久不卡| 深喉吞精| 中文字幕AV中出| 好淫网一二三视区| 精品久久久中文字幕不| 亚洲瓯美色图| 亚洲精品骚逼| 一区二区三区成人| 欧美传媒一区| 精品中文日韩字幕视频| 欧美激情久久久久| 国产噜噜噜噜噜久久久久久久久| 91黑丝美女| 日本丝袜美腿人妻九九| 96精品久久久久中文字幕| 丁香五月成人| 特级大荫道BBwBBwBBW| 欧美性猛交美女自慰91| 欧美日韩国产中文精品字幕自在自线,| 这里只有精品视频| 国产青一二三| 国产男女无套97| 欧美激情超碰777| 91网站18在线| 5252色欧美在线男人的天堂| 91狠狠综合久久| 美女91网| 日本伦乱九九九综合| 电家庭影院午夜69久久夜色精品国产69乱| 超碰97极品9| 男生通女生屁股| 日韩性色| 试看日韩黄片| 园内精品自拍视频在线播放| 国产福利影视| 亚洲欧美校园另类春色| 综合五月天| 亚洲日韩一区电影| 久久久久密臀一区二区| AV色女综合| 草草电影院| 91大神精品长腿在线观看网站| 秋霞网—男女啪啪亚洲免费体验区| 久久透逼视频| 丁香五月婷婷色| 久久久9品一区二区三区| 天天看特黄的免费网站| 中文不卡视频| 涩涩这里只有精品视频| 天天日天天插| 91天天爱| 天堂男人网| 亚洲中文国际强奸字幕| 九九热视频这里只有精品| 成人一级二级| 日韩性爱小视频| 日本操大逼| 久久久艹艹艹| 免费精品AB| 人人摸人人入| 探花激情视频| 超碰综合色| 国产精品久久久久9999小说| 丁香五月天激情网站| 天天摸天天插天天日| 国产第11页| 国产操逼网站亚洲一级黄色| 免费在线观看AV无码网站| 啊嗯好大视频在线观看| 丁香九月婷婷| 综合久久欧美| 色天天野狼综合社区| 五月天社区| 久久超碰免费的| 欧美在线啊啊| 天美av在线观看| 成人情色综合网| 国产精品美女在线一区| 久草视频制服诱惑| 中文字幕在线免费观看| 爱爱动态120秒| 欧美色图99| 做爱A级亚欧| 超碰激情808| 久久高潮妇女视频| 天天爽天天操| 97精品视频免费| 国产农村妇女精品| 人人色97| 亚洲性天堂| 丁香五月激情综合国产| 精品人妻一区二区三区免费视频| 亚洲二区精品在线观看| 啊啊啊啊啊啊啊啊啊在线观看| 无遮挡男女激烈动态图| 午夜精品久久久99| A 在线网址| 久草在| 无码高清国产AV| 嫩草伊人久久精品| 很黄很色的视频在线观看| 国产高清不卡视频| 亚洲va有码在线天堂| 中文字幕亚洲欧美在线不卡| 懂色Av| 北条麻妃99精品青青久久| 夜夜爽夜夜操| 麻豆AV一区二区| 无码天堂| 天天香香欲综合| 欧美高清18A片| 国产嫩草精品A88AV在线| 无码精品久久久久久亚洲| 超碰日本97美女人妻人人玩人人爱| 国产一区二区在线看| 看一级黄色视频| 麻豆一区二区AV天美| 成人午夜无码视频| 后入式免费视频| 极品丝袜无码| 午夜精品久久久久久久久久蜜桃 | 国产60页| 精品国产国产AV| 国产亚洲日韩在线三区黑人| 加勒比性爱成人在线| 97最新在线播放视频| 精品人妻一区二区三区视频在线| 色盈盈影院| 黄在线| 欧美啪啪啪91| 欧美国产成人在线| 色五月综合网| 日韩亚洲中文字幕在线| 亚州性9| 日韩精品9区| 婷婷五月天成人网| 最新av网站在线观看| 欧美色图人妻| 亚洲AV乱码专区国产噜噜亚洲| 精品欧美А∨无码黑人大荫蒂| 疯操AV| 好看的91视频| 99视频精品| 欧美18老人禁| 日韩图色| 久久人妻少妇| 96AV久久久| 国产乱伦一二三区| 天天弄天天操| 91精品91久久久久77777俄罗斯老妇姓x| 啊啊啊啊二区好大| 25国产精品免费观看| 影音先锋视频在线| 婷婷av在线中文字幕| 嗯嗯嗯啊啊在线观看| 91色鬼| 色一情一乱一乱一区91Av| 翔田千里无码一区| 男人综合网| 欧美综合 站| 夜夜高潮夜夜爽高清视频一| 婷色五月| 99久久综合网| 欧美三级中文字幕hd| 国产操逼网站亚洲一级黄色| 亚欧无码在线| 国产毛片毛片4p懂色| 精品在线78| 亚洲综合贴图91| 综合网亚| 粉嫩久久久久| 久久久婷婷| 亚洲欧洲视频小说在线观看| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 欧洲小说色图视频另类| 欧美最婬乱婬爆婬性视频 | 高清视频一区| 精…码一二三区| 欧美综合中文| 亚洲中文sv| 亚洲熟女少妇免费视频| 少妇99| 大香蕉欧美国产日韩高潮| 欧美久久草熟女| 天天日少妇逼AV| 开心激情婷婷| 欧美性猛交美女自慰91| 麻豆天美国美国产AV| 99视频在线| 国产原创剧情在线丝袜| 中文字幕 国产区| 97碰在线视频| 中文字幕日韩国产传媒欧美精品| 精品久久一区二区三区四区五区| 久久天天摸| 久久25| 色诱avtt| 97jingpin| 9久9久9久9久视频网站| 97亚洲中文| 亚洲欧美另类图片| 91影库| 狠狠操夜夜| 色乱二区| 1024日韩| 啊啊啊啊在线观看网址| 国产一区二区久久| 久草久日| 中文字幕三四五区| 成人小说另类在线| 天天摸夜夜添无码小视频| 综合久久久久久久综合网| 日韩一区二区高清在线观看的| 国产成人免费观看在线视频| www.色婷婷.com| 日韩丝袜人妻AV| 99综合自拍| 国产自产22区| 91无遮挡| 久久久久久国产手机AV| 亚州国产精品乱| 四虎视频在线观看| 亚洲综合色图欧美| 国产福利视频精品视频| 亚洲一区二区精品福利| 亚洲综合色男人网| 大香蕉琪琪日本女优不卡| 99在线精品观看视频中文| 黑人娇小av在线播放 | 日韩精品人妻中文字有码在线| 精品一区二区久久| 久久草草亚洲蜜桃臀| 两性色网| 久久久久国产亚洲一区欧美色图日韩| 精品国产久久乱码| 亚洲男人电影天堂| 欧美亚洲中文字幕| 欧美性爱一内片一区二区三区| 久久亚洲色图中文字幕| 久久久96| 色色亚洲| 97国产|免费| 日韩人妻一二三区视频 | 精品午夜福利导航| 久久精品性| 国产污视频麻豆传媒一区二区| 久久久性少妇| 91成人久久| 后入内射蜜桃臀| 99精品九九九九九九| 免费观看国产不卡av| 久妇网| 综合欧美色图| 国产欧美日韩臀| 综合网欧美| 九九热九九| 香蕉免费一区二区三区不读 | 免费A V在线播放| 日韩AV中文字幕电影| 高清无码91| 亚洲黄色网址视频| 怡红院成人av| 中文人妻av高清一区| 人妻夜夜爽天天爽麻豆三区网站| 欲香欲色综合天天伊人| 国产一区二区三区影片| 亚洲文学偷乱拍啪啪啪啪 | 久久这里| 大香蕉强奸乱伦| 玖玖爱一区在线| 色网站导航大全| 亚洲精品97在线| 91处女在线观看| 欧美日韩丝袜| 日韩成人无码| 秋霞男人网| 人妻偷拍一区二区三区| 极品内射| japan日本高清乱xxxx| 亚洲激情欧美色图| 色路综合| 五月天玖玖资源站| 青女偷拍网| 99热在线观看| 2017天天透天天通天天擦| 无码 黑人一区二区三区| 国产精品 亚洲情色| а√天堂资源官网在线资源| 91成人在线| 国产91 丝袜在线播放| 精品国产网站| 亚洲成人综合在线| 看大黄色大片原件| 色眯眯av| 亚洲制服欧美另类内射| 黄色交缠性感爆操91国产精品免费一区二区三区 | 日逼97| 亚洲精品男人的天堂| 亚洲精品欧洲色| 欧美天天拍| 欧美组图日韩亚洲中文字幕| 国产高清不卡视频| 丝袜美腿制服人妻二区中文字幕| 国产91 丝袜在线播放 | 国产一线二线三线av| 亚洲 图片 综合91| 午夜一区二区三区国产| 久久亚洲日韩熟女精品| 五月天黄色av| 日本性爱网址| 人人操欧美风骚| 午夜福利在线视频1000| 无码国产精品午夜不卡(| 日韩无限资源| 肉丝无码中文高清| 天天影视色香色欲| 国产女人高潮嗷嗷嗷叫小说| 四虎在线视频| 97爱b| 亚洲天堂,男人| 午夜福利精品| 超碰97人妻在线| 天天射夜夜| 爱爱60秒免费视频| 欧美三级中文字幕hd| 99热这里只有精品18| 伊人精品视频| 欧美少妇熟女| 最新国产亚洲精品精品国产亚洲综合| 欧美综合网| 久久人妻少妇| 青青草色情网站视频| 免费视频a级毛片免费视频| 久久在线观看免费视频| 暴力av在线| 美女诱惑在线一区| 一二三啪啪专区| 久久精品性| 久久久久免费看少妇A片特黄| 天天插夜夜操| 中韩中文字幕在线观看| 九草九九九| 日本不卡二三区| 丰满欧美少妇| 丁香六月啪| 操逼操逼逼操操逼91 | 欧美很很操视频| 97精品熟女少妇一区| 国产精品白丝| 人妻少妇精品| 97资源久久| 精品人妻丰满熟妇一区二区三| 亚精品无码毛片一区二区三区| 四虎影库国产精品免费| 大胆91| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 久久成人午夜精品影院| 亚洲色欲天天天堂色欲网女| 日本操逼视频免费| 9999久久久| 日本精品一区二区不卡| 九九九九九九免费视频| 加勒比综合a∨| 青青青草伊人精品| 人人摸人人舔一区二区| 另类专区加勒比| 国产欧洲精品亚洲午夜拍精品| 免费看污网址| 亚洲欧洲无码一区夜| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 色吊丝 日日骚 清纯唯美| 9久9久| 美女十八禁| 天躁夜夜躁2021| 亚洲综合首页| 在线播放成人高清免费视频| 国产亚洲福利第一页丝袜| 婷婷操视频| 国内毛片热久久思思热| 日韩欧美大力操| 国产女人和拘做爰视频| 爆操无码| 一起草av| 91撸色网 玖玖网 欧美| 91欧美巨乳| 91老司机精品| www国产无码| 日本人妻伦在线中文字幕| 自怕偷自怕亚洲精品| 国产精品美女在线一区| av一区二区三区 中文| 蜜臀av在线播放一区二区三区| 91在线|亚| 精品人妻视频一区二区三区蜜桃视频| 亚洲 综合 第一页| 九t超碰| 亚洲视频中文一区| 国产精品嫩草影院免费| 操一区| 大香蕉国产中文自拍| 久久妇| 天天亚洲| 国产三级多多影院2022国产AA一级毛片无码 | 99热在线观看| 午夜120视频在线观看| 五月丁香| 亚洲区限制级| 九九九九免费| 特级毛片特黄久久免费看| 中文字幕成人| 另类 综合 日韩 欧美 亚洲| 亚洲女优有码无码高清| 永久免费av无码网站国产app| 中国国国产一级特黄毛片| 91黑丝在线播放| 粉嫩av一区二区三区四季| 天天干电影| 黄在线| 在线天堂999| 玖玖大干人妻| 影音先锋日本一区二区| 九九99久久| 日本一区二区亚洲综合| AA特级绝黄| 有码人妻系列| 亚洲日韩电影| 极品色www影院| 亚洲激情色片| 18禁在线视频| 大香蕉操久久| 欧美综合中文| 人人插人人搞人人操| 91高跟美女在线播放| 久久 精品| 亚洲 欧美 手机在线观看| 97色色国产视频| 欧美激情激情xxxx欧美专区| 五月婷婷性爱| 久艹视频在线| 很很热性爱视频| 天美欧美国产| 日韩av不卡在线看| www.99热在线只有精品| 五月亭亭六月丁香| 超碰久久性爱| 午夜操一操| 性爱久久| 亚洲久久久久| www.97在线| 久久久久久久精| 超碰人人乐97| 激情一区二区| 久热伊人99re| 亚洲午夜未满十八勿入网站日本又色又爽又黄| 日本狠狠干| 欧美热图99| 激情五月婷| 精品九区| 欧美日日网| 国产黄色剧情影片麻豆免费播放| 精品无码久久久| 97免费在线视频| 国产精品青青草| 国产无码精品无码| 国产熟妇一区二区| 一线黄色免费性爱片| 欧美高潮| 色婷婷五月综合激情中文字幕| 欧美 日韩第一性色| 精品国产精品一区二区| 600国产精品视频| www.91色综合| 麻豆三极片| 色婷婷久久综合超碰| 中文字幕亚洲热播人妻| 日本免费二区三区| 精品久久青青草| 妇女性内射冈站HDWWWCOM| 国产二区三区粉嫩在线| 殴美在线AⅤ| 日韩天天综合| 亚洲精品一二三四区| 无码高清操逼网址| 亚洲青青草| 色色色综合网| ji熟女.com| 精品国产乱码久久久影院| 日本三级韩国三级99| 综合伊人网12色| 91 亚洲情侣偷拍 久久| 五月天婷婷影院| 国产精品无码成人精品| 91n.欧美| 夜夜操天天肏| 成人网址在线观看| 久操91视频| 日本性一区| 国产精品交换一区二区| 国产精品视频麻豆入口| 亚州欧美在线| 极品后入免费视频| 大胆91| 五月丁香拍拍激情综合三级| 欧美色视| 中文熟女五十乱码在线| 高清不卡视频| 久久香蕉国产线看观看猫咪av| 欧美极品| 哈哈操 大香蕉| 亚洲第一页欧美| 色婷婷电影网| 女人喷水视频在线观看| 在线视频免费观看午夜| 久肏视频字幕| 都市激情人妻一区二区青青操视频| 五月婷婷久久综合| 美女尤物人人操| 九九九色| 天天综合网在线91| 欧洲亚洲综合| 精品96久久| 亚洲欧美性生活| 99色在线| 青娱乐日韩无码| 男人天堂黄片| 一级毛片电影免费看| 很黄很色的视频在线观看| 99999亚洲| 久久久草草精品| 素颜老阿姨乱情色| 91人妻视频| 91丨国产丨白浆| 激情综合色| 色五月婷婷中文字幕| 人妻人人做人人澡人人爽欧美一区| www.av家庭乱伦| 97超碰9| 色97欧美| 日本熟妇人妻一区二区三区| 国产AB视频| 99在线啪| 99热国产精品| 久久久国产精品亚洲精品| 中国黑人三级片网站上区| 黄色大片一区二区密桃丝袜| 五月丁香六月激情综合| 婷婷五月天激情小说| 久久久久婷婷| 综合久久婷婷| 久久国产视频性吧| 久操大香蕉手机视频在线看| 丁香五月天啪啪| 五月丁香成人网| 婷婷亚洲天堂| 国产女上位好爽在线| 久操黄色视频| 大香蕉伊利av| 久久熟妇五十路一区| 蜜臀久久99精品久久久久免费观| 亚州成人a∨| 北条麻妃性愛视频| 97av,com| 九九热只有精品| 火箭成精品视频884必出精品| 精品69网| 大香蕉乱级| 韩日性爱av| 欧美强奸一区二区诱惑| 九九伊人网| 97国产色综合| 伊人玖玖网| 人妻 欧美亚洲| 九久久精| 国产9 9在线 | 亚洲| 91精品国产日韩欧美综合| 69精品久久久久中文字幕| 深爱五月婷婷| 国产精品午夜成人福利| 视频二区熟女人妻| 久久三区四区| 精品国产乱码| 日本黄 R色 成 人网站| 婷婷亚洲中文字幕在线| 亚洲欧美一区二区不卡视频播放| 国产精品毛片| 免费AV中文网在线观看| 色呦呦呦在线观看视频| 伊人AAA| 国产美女激情| 91综合网在线| 国产91乱伦| 日韩情色视频| 91激情国产| 男女猛烈无遮掩视频免费软件| 亚洲古典另类欧美在线| 99中出在线| 黄色一区三区| 十八禁啪啪视频| 日韩欧美亚洲一区二区三区影院| 东京太热久久久| 久久偷偷色综合蜜桃| 91在线免费精品视频| 操逼片中文| 麻豆黄色五月天| 天天综合网视频91| 亚洲图片日本AⅤ欧美在线| 婷婷丁香六月天| 激情四射五月天| 美女裸体无遮挡永久免费观看网站| 欧洲一级性爱视频在线观看| 欧美日韩黄色片一区二区三区四区人与兽做爱 | 精品人妻一区二区三区不卡断 | 99re69| 青草精品视频-日本久久久久网站| 亚洲 自拍偷拍 欧美| 国产suv精品一区二区四| 老鸭窝在线视频播放| 国产又猛又粗又爽又黄| 玖玖综合.com| 久久熟女嫩草成人片免费 | 操逼无毒无码免费视频| 两女互慰AV高潮喷水在线观看| 亚洲午夜免费狠狠干| 超碰在线成人电影| AA特级绝黄| 超碰97久久观看| 老外又粗又长一晚做五次| 国产成人亚洲精品自产在线| 人妻夜爽夜夜爽| 欧美性爱十八禁| 69少妇一区二区| 日韩人妻少妇中文字幕| 精品国产乱码久久久久久久久久毛片 | 丁香六月激情| 蜜臀Av一区二区三区| 免费a在线播放v| 青青操视频在线| 深夜国产一区二区三区在线看| 日韩中文字幕av在线播放| 国产免费黄色一级大片| 午夜天天碰综合视频| 啊啊啊久久| 天天影视网综合少妇| 99999国产| 国产成人亚洲精品自产在线| 亚洲欧美在线丝袜| 超碰成人免费| 神马麻豆福利院| 女优视频第10页| 啊啊啊啊啊好多水| 国产人妻精品久久久一区二区三区| 久久久久久久唑| 色精品极品| 色综合一本| 神马久久久久久久久久| 99久久久无码精品国产人| 日本最新免费韩国1区2区视频播放| 久久久一区二区三区三州| 欧美视频激情久久久久久| 综合欧美激情网| 九九九偷拍| 久久久精品国产亚洲伊人| 国产内射爽爽大片| 啊啊啊啊啊在线视频| 亚洲国产一区二区入口| 91女优在线观看 | 人人喜人人妻| 亚洲啪AⅤ永久无码| 伊人久久亚洲色欲综合网站 | 欧美亚州综合网图片| 天天操夜夜操| 夜夜草我| 人伦四五区| 青青网三级视频| 欧美午夜视频免费观看| 国产精品动态一区二区三区四四| 久久久中文| 亚洲午夜未满十八勿入网站日本又色又爽又黄 | 老熟女阿 国产91| 97超碰碰碰| 爽极品影院| 久久久亚洲精品中文字幕人妻| 欧美九九99久久精品| 天天操天天射天天日| 欧美日综合| 欧美性,亚州色| 新婚人妻扶着粗大强行坐下| 丰满人妻一区二区三区免费 | 乱伦一二三区| 999热日韩精品| 夜夜操天天肏| 综合久久婷婷| www.91人妻.com| 人人澡人人干| 9999亚洲精品| 97亚洲一区| 天天躁日日躁XXXXYY| 人妻一区二区三区四区视频| 亚洲AV不卡在线观看| 天天看综合网| 9999久久久久| 青草草免费网站av| 91久久久久久久久18| jiujiujiujingpin| Av色五月| 婷婷伊人綜合中文字幕小说| 强奸乱伦AV网站| 亚洲图片欧美| 天天影视综合色| 伊蕉97蜜桃97狠狠综合干| 男人天堂2019亚洲| 一级性爱aaaa| 91影库| 久久久久久久免费A片国产成a人亚洲精∨品无码| 亚州欧美综合| 东京热精品97综合网| 中文字幕日韩国产传媒欧美精品| 亚洲欧美日韩夜夜| 亚洲精品xxx| 久久精品久久久久久久久| 91 丝袜在线播放| 97在线日韩中文字幕| 亚洲综合射| 99热导航| 国产高清不卡视频| 一本正道久久熟女| 嗯嗯,啊啊,国产精品| 思思热在线视频精品| 亚洲AV永久无码一区仙野| 色官网色综合| 欧美人与性动交a美精品| 青娱乐999| 日韩啊V| 大学生美女口爆| 亚洲天堂男人网| 天天日天天干少妇日| 97超碰大| 啊啊啊啊啊啊在线| 亚洲图片欧美偷拍| 超碰诱惑| 欧美熟妇精品黑人巨大91| 国产精品日日摸天天碰| 久久成人网站| 亚洲,欧美,综合网| 啊啊啊啊,啊啊好多水| 中文字幕精品专区搜索结果91| 超碰午夜| 久久婷婷苹果| 欧美丝袜中文字幕07在线| 97在线/亚洲| 国产精品一区二区三区在线| 91bbbbbb| 九九九九精品九九九九| 偷拍综合网| 欧美成年人性爱视频免费观看| 亚洲 欧美 日韩 国产一区二区 | 久操 高清| 欧美韩国你懂得在线| 日韩欧美偷拍美女视频| 97国产伦理| 色色色色日本| 操屄不卡视频| 丁香五月性| 久久久久国产亚洲一区欧美色图日韩| 欧美人妻精品| 歐美性天天| 台湾佬中文娱乐网久久久久久久久久com| 99最新日韩偷拍视频| 蜜桃香蕉久草精品在线| 色香综合| 欧美一级美片在线观看免费| 国产精品极品美女视频| 一级A啪啪啪啪| 天综合中文| 亚洲综合99999| 中出20p| 久久色网| 国产熟女乱论| 久碰视频| 91中文精品日韩欧美在线| 欧美天天综合站| 玖玖久久久| 中文字幕一区二区三区四区在线视频| 日韩精品中文字幕一| www.99视频| 欧美日本天堂| 欧美性爱超碰97| 岛国A V在线免费看| hd成人一区二区在线| 伊人综合色网| 久草线上视频免费看| 精品视频在线观看| 亞洲久久直播| 久久久久久性爱视频| 久9爱经典视频| 一本色道无码DVD中文字幕| 国产操偷| 欧美专利1区2区3区4区5区免费| 粉嫩久久久久| 又粗又长又大国产不卡| a v网站在线播放| 国产日韩精品一区二区三区| 91国产伊人大香蕉| 伊人网免费视频| 激情四射五月天| 在线观看视频91| 国产9区| 亚洲aV无码成人在线观看| 色爱综合网欧美| 九九九999久久久网站| 日韩 欧美 另类 人妻| 欧美日韩夜夜| 啊啊啊啊免费视频| 久久精品国产亚洲AV嘿嘿| 欧洲天天在线| yazhououmeizongya| 91人妻精华帖| 婷婷情色综合网| 欧美自拍网| 欧美性巨大╳╳╳╳╳高跟鞋| 天天综合有色网| 九月伊人中文字幕| 一块操欧美性爱| 我爱搞逼综合网| 久久中文字幕一区不卡| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 精品欧美А∨无码黑人大荫蒂| 黑操B| 水滴偷拍| 99色在线观看| 亚州五月| 抽插无码高清一区| 欧美综合网1| 国产精品永久免费10000| 116美女午夜| 久久人妻| 99超碰色| 蜜臀久久99精品久久久| 国产精品电影| 奶水 人妻 哺乳 在线| 久久精品性| 亚洲图片视频小说| 久操精品网| 亚洲丝袜二区在线| 91超碰人人操| 午夜亚洲| 亚洲男人天堂Av| 99re超碰| 91九色丨国产丨爆乳| 老司机午夜精品视频| 青青草在线成人视频| 亚洲成a人v欧美综合天堂下载 | 亚洲黄色| 欧美综合站| 亚洲图片激情小说| 精品网站9999| 肏逼福利网站| 91丝袜在线观看视频在线观看| 超碰欧美| 日本999精品视频| 亚洲囯产精品女人久久久| 大香蕉综合久久| 黑丝自慰喷水网站| 淫穴高潮色图| 五月天婷婷小说| 校园春色 欧美| 欧美人妻二区三区| 岛国片在线播放| 丝袜美腿射精91| 久久婷婷亚洲| 久久69| 国产精品色哟哟| a天堂视频| 人妻熟女一区二区三区视频| 欧美另类色图片| 日欧操屄| 97天天插| 国产天美欧美| 少妇无码av专区线| 亚洲色性| 日本精品88888888| 性在久久久久久| 欧美丝袜91| 超碰97在线 欧美 国产| 一起草日韩| 久久99九九九九6666免费观看软件| 91亚洲人电影| 日本 色 导航| 日日躁夜夜躁狠狠躁超爽| 九九热免费国产视频婷婷伊人| 99久久精品无码一区二区毛片免费| 在线亚洲丝袜视频网站| 91久久久久久久| 亚洲天堂五月天国产| 夜夜无码| 人人妻人人色| www色色com| 乱伦a片视频| 久久久91| 六月婷婷一区二区三区| 97WW精品| 国产色精品午夜大片| 9118禁| 日韩人人精品| 人人摸人人干| 九九激情网| 久久久久免费看少妇A片特黄| 天天综合色图| 射丝袜大香蕉| 久久精品一区| 大香网伊人久久综合| 成人一级性爱| 亚洲不卡三级手机播放| 亚洲,欧美,综合网| 亚洲精品美女操逼| 久久久噜噜噜久久久| 色婷婷五月综合激情中文字幕| 日本性交操一区二区不卡系列| 97国产|免费| 九九国产| 1234区中文字幕在线观看_青青草国产在线_日韩一区二区 | 天堂精品| 神马久久69| 国产传媒日本欧美专区| 五月天色图影视| 无套内射性感少妇视频| 欧美天天干| 乱操乱伦AV| 国产精品不卡高清在线观看| 91人妻中文| 久久久久久久久一区二区三区| 日韩美女操b| 欧美东京热青青草| 综合网久久| 97综合久久| 操死我了啊啊啊| 久久只有精品一区二区三区| 丁香五月成人| ,国产乱人伦精品一区二区三区| 成人三级片无码| 人人看人人爰人人操| 亚洲一区二区三区春色| 欧美天天射| 1240青青草一区二区三区视频天爱| 亚洲婷婷丁香在线| 国产剧情在线| 久久精品一区二区三区四区五区| 99久久免费看精品国产一区| 蜜臀在线看片| 加勒比久久av| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 大干人妻| 97在线观看免费| 精品白丝一区| 亚洲狠狠入| 美女性91| 色悠久| 免费国产视频| 日韩性爱啪啪视频| 尹人免费观看视频在线| 国产成人99久久亚洲综合| 黑人白女精品一区| 郑州宾馆老熟女露脸啪啪| aaaa少妇高潮大片| 女人被添高潮免费视频 |