日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

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

AI Agent 緩存架構(gòu)實(shí)戰(zhàn):Redis 會(huì)話狀態(tài)、工具調(diào)用與分布式鎖設(shè)計(jì)

AI Agent 緩存架構(gòu)實(shí)戰(zhàn):Redis 會(huì)話狀態(tài)、工具調(diào)用與分布式鎖設(shè)計(jì) 1. 為什么 AI Agent 繞不開(kāi) Redis 這層緩存做過(guò) AI Agent 項(xiàng)目的人大概都有過(guò)這種體驗(yàn)本地跑個(gè) demo 順風(fēng)順?biāo)坏┌巡l(fā)量拉起來(lái)或者把會(huì)話狀態(tài)放到多實(shí)例部署的環(huán)境里整個(gè)系統(tǒng)就開(kāi)始變得又慢又亂。模型調(diào)用本身已經(jīng)夠貴了結(jié)果每次用戶發(fā)一句話Agent 還要重新去查一遍歷史對(duì)話、重新拼一遍工具調(diào)用結(jié)果、重新算一遍向量檢索的中間態(tài)——這些重復(fù)勞動(dòng)堆在一起延遲和成本直接失控。這就是 Redis 在 AI Agent 架構(gòu)里真正的位置。它不是順便加個(gè)緩存而是 Agent 的短期記憶層和狀態(tài)協(xié)調(diào)層。一個(gè)典型的 Agent 循環(huán)是這樣的接收用戶輸入 → 規(guī)劃Planning→ 調(diào)用工具Tool Calling→ 觀察結(jié)果Observation→ 再規(guī)劃 → 輸出。這個(gè)循環(huán)里每一步產(chǎn)生的中間狀態(tài)如果都靠數(shù)據(jù)庫(kù)或者內(nèi)存變量扛著多輪對(duì)話一長(zhǎng)、并發(fā)一高系統(tǒng)就會(huì)崩。Redis 的定位就是把這些高頻讀寫(xiě)、生命周期短、結(jié)構(gòu)靈活的數(shù)據(jù)接過(guò)來(lái)。我先把這篇要講清楚的東西擺出來(lái)AI Agent 場(chǎng)景下 Redis 到底緩存什么、怎么設(shè)計(jì) key、怎么處理緩存一致性、分布式鎖怎么用、序列化怎么選、線上常見(jiàn)的超時(shí)和失效問(wèn)題怎么排查。適合正在搭 Agent 后端、或者已經(jīng)把 Agent 跑起來(lái)但被性能和狀態(tài)問(wèn)題折磨的開(kāi)發(fā)者。如果你只是想讓 Agent 跑通一個(gè) demo那 Redis 可以先放一放但只要涉及多輪會(huì)話、多實(shí)例部署、工具調(diào)用結(jié)果復(fù)用這層緩存基本躲不掉。有一點(diǎn)要先說(shuō)明白AI Agent 和傳統(tǒng) Web 后端的緩存需求不完全一樣。傳統(tǒng)緩存大多是讀多寫(xiě)少、結(jié)果穩(wěn)定比如商品詳情、用戶資料。而 Agent 的緩存對(duì)象往往是會(huì)話態(tài)、工具調(diào)用結(jié)果、規(guī)劃中間態(tài)這些東西變化快、和具體會(huì)話強(qiáng)綁定、還經(jīng)常需要設(shè)置較短的 TTL。用傳統(tǒng)那套緩存整個(gè)接口響應(yīng)的思路來(lái)做 Agent 緩存很容易踩坑。下面我按實(shí)際項(xiàng)目里的順序一層層拆。2. Agent 里到底哪些數(shù)據(jù)該進(jìn) Redis很多人一上來(lái)就問(wèn)Redis 緩存怎么配但更該先問(wèn)的是我到底要緩存什么。選錯(cuò)了緩存對(duì)象后面 key 設(shè)計(jì)、過(guò)期策略、一致性方案全是白費(fèi)功夫。我按 Agent 運(yùn)行時(shí)實(shí)際產(chǎn)生的數(shù)據(jù)分幾類(lèi)說(shuō)。2.1 會(huì)話上下文最核心也最容易失控的部分多輪對(duì)話的上下文是 Agent 緩存的第一大頭。用戶和 Agent 聊了 20 輪第 21 輪進(jìn)來(lái)時(shí)你需要把前面的對(duì)話歷史喂給模型。如果每次都從數(shù)據(jù)庫(kù)全量拉取再拼接延遲會(huì)隨著輪次線性增長(zhǎng)。常見(jiàn)的做法是把會(huì)話上下文以列表結(jié)構(gòu)存在 Redis 里比如用List或者Stream。每輪對(duì)話追加一條讀取時(shí)按需截取最近 N 輪。這里有個(gè)關(guān)鍵決策是緩存完整歷史還是只緩存最近窗口。我的經(jīng)驗(yàn)是Redis 里只保留熱窗口——比如最近 10 到 20 輪更早的歷史落庫(kù)需要時(shí)再按需回?fù)啤T蚝芎?jiǎn)單模型的上下文窗口是有限的你緩存再多它也吃不下反而白白占內(nèi)存。import redis import json r redis.Redis(hostlocalhost, port6379, decode_responsesTrue) def append_turn(session_id, role, content): key fagent:ctx:{session_id} turn json.dumps({role: role, content: content}, ensure_asciiFalse) r.rpush(key, turn) # 只保留最近 20 輪控制內(nèi)存 r.ltrim(key, -20, -1) r.expire(key, 3600) # 1 小時(shí)不活躍就回收 def get_context(session_id): key fagent:ctx:{session_id} turns r.lrange(key, 0, -1) return [json.loads(t) for t in turns]這段代碼看著簡(jiǎn)單但ltrim那行是精髓。我見(jiàn)過(guò)太多項(xiàng)目忘了裁剪結(jié)果一個(gè)長(zhǎng)會(huì)話把 Redis 內(nèi)存吃滿最后觸發(fā)淘汰策略把別的 key 擠掉引發(fā)連鎖故障。2.2 工具調(diào)用結(jié)果省下的是真金白銀Agent 調(diào)用外部工具搜索、數(shù)據(jù)庫(kù)查詢、第三方 API往往又慢又貴。同一個(gè)會(huì)話里用戶可能反復(fù)問(wèn)相關(guān)的問(wèn)題觸發(fā)相同的工具調(diào)用。這時(shí)候把工具調(diào)用結(jié)果按工具名 參數(shù)指紋緩存起來(lái)命中一次就省一次外部調(diào)用。這里要注意的是參數(shù)指紋怎么算。不能簡(jiǎn)單用參數(shù)的 JSON 字符串因?yàn)樽侄雾樞颉⒖崭癫町悤?huì)導(dǎo)致同樣的語(yǔ)義算出不同的 key。穩(wěn)妥的做法是對(duì)參數(shù)做規(guī)范化排序后再哈希。import hashlib def tool_cache_key(tool_name, params: dict): normalized json.dumps(params, sort_keysTrue, ensure_asciiFalse) digest hashlib.sha256(normalized.encode()).hexdigest()[:16] return fagent:tool:{tool_name}:{digest}TTL 設(shè)置上工具結(jié)果的新鮮度要求不同。搜索類(lèi)結(jié)果可能幾分鐘就過(guò)時(shí)設(shè) 300 秒而一些靜態(tài)查詢比如匯率換算的固定公式結(jié)果可以設(shè)幾小時(shí)。別一刀切。2.3 規(guī)劃中間態(tài)與向量檢索緩存Agent 的 Planning 階段經(jīng)常會(huì)產(chǎn)生一些中間結(jié)構(gòu)比如任務(wù)分解列表、候選工具排序。這些數(shù)據(jù)生命周期極短可能就幾秒到幾十秒但讀寫(xiě)頻率很高。用 Redis 的String存 JSON 或者Hash存字段都行關(guān)鍵是 TTL 要短。向量檢索這塊要單獨(dú)提一句。RAG 場(chǎng)景下同一個(gè) query 的 embedding 和檢索結(jié)果可以緩存。embedding 計(jì)算是 CPU/GPU 密集操作緩存命中能顯著降延遲。但要注意embedding 緩存對(duì) query 的精確匹配要求高稍微改一個(gè)字就是另一個(gè) key所以命中率取決于用戶提問(wèn)的重復(fù)度。實(shí)際項(xiàng)目里我會(huì)給 embedding 緩存設(shè)較長(zhǎng)的 TTL比如 24 小時(shí)因?yàn)檎Z(yǔ)義相近的 query 復(fù)用價(jià)值高。緩存對(duì)象推薦結(jié)構(gòu)典型 TTL備注會(huì)話上下文List / Stream30min - 2h需裁剪窗口工具調(diào)用結(jié)果String (JSON)5min - 數(shù)小時(shí)按工具特性定規(guī)劃中間態(tài)String / Hash10s - 60s極短生命周期EmbeddingString (二進(jìn)制)數(shù)小時(shí) - 24h注意內(nèi)存占用限流計(jì)數(shù)String (INCR)與窗口對(duì)齊配合過(guò)期3. Key 設(shè)計(jì)與序列化那些看起來(lái)不重要卻天天出事的地方緩存對(duì)象定了接下來(lái)是 key 怎么設(shè)計(jì)、value 怎么序列化。這兩件事在 demo 階段無(wú)所謂上了生產(chǎn)就是天天出問(wèn)題的地方。3.1 Key 命名要有層級(jí)感和可掃描性我推薦用冒號(hào)分隔的層級(jí)命名比如agent:ctx:{session_id}、agent:tool:{tool}:{hash}。好處是可以用SCAN按前綴批量操作也方便在監(jiān)控里按前綴統(tǒng)計(jì)內(nèi)存占用。但有個(gè)坑必須提醒不要用KEYS agent:ctx:*去掃線上 Redis。KEYS是 O(N) 操作會(huì)阻塞整個(gè)實(shí)例。線上要用SCAN游標(biāo)迭代。我見(jiàn)過(guò)有人寫(xiě)了個(gè)定時(shí)任務(wù)用KEYS清理過(guò)期會(huì)話結(jié)果每次執(zhí)行 Redis 就卡頓幾秒Agent 請(qǐng)求大面積超時(shí)。def scan_keys(pattern, batch100): cursor 0 while True: cursor, keys r.scan(cursorcursor, matchpattern, countbatch) for k in keys: yield k if cursor 0: break另外key 里如果包含用戶可控的內(nèi)容比如 session_id 直接來(lái)自前端一定要做校驗(yàn)或哈希防止有人構(gòu)造超長(zhǎng) key 或者惡意 key 撐爆內(nèi)存。3.2 序列化選型JSON、MessagePack 還是 Pickle序列化這塊我的排序是JSON 優(yōu)先MessagePack 次之Pickle 盡量別用。JSON 的好處是可讀、跨語(yǔ)言、調(diào)試方便。缺點(diǎn)是體積大、數(shù)字精度有損。對(duì)于會(huì)話上下文這種需要人肉排查的數(shù)據(jù)JSON 是首選。MessagePack 體積能壓到 JSON 的 60% 左右序列化速度也快適合工具調(diào)用結(jié)果這種量大且不需要人讀的場(chǎng)景。代價(jià)是調(diào)試時(shí)得額外解碼。Pickle 我基本不用。一是跨語(yǔ)言不友好二是反序列化有安全風(fēng)險(xiǎn)三是 Python 版本升級(jí)容易出兼容問(wèn)題。Agent 項(xiàng)目經(jīng)常要和其他語(yǔ)言的服務(wù)比如 Rust 寫(xiě)的推理服務(wù)交互Pickle 直接出局。import msgpack def set_tool_result(key, data, ttl300): packed msgpack.packb(data, use_bin_typeTrue) r.set(key, packed, exttl) def get_tool_result(key): raw r.get(key) if raw is None: return None return msgpack.unpackb(raw, rawFalse)提示如果 value 里包含二進(jìn)制數(shù)據(jù)比如 embedding 向量別硬塞進(jìn) JSON用 MessagePack 或者直接存 bytes。JSON 處理二進(jìn)制會(huì)先 base64 編碼體積膨脹 33%。3.3 大 key 與熱 key 的預(yù)防Agent 場(chǎng)景特別容易產(chǎn)生大 key。比如把整個(gè)會(huì)話的所有工具調(diào)用結(jié)果塞進(jìn)一個(gè) Hash聊得越久這個(gè) Hash 越大。大 key 的危害是讀寫(xiě)慢、刪除時(shí)阻塞、集群模式下數(shù)據(jù)傾斜。預(yù)防手段有幾個(gè)一是拆分把工具結(jié)果按調(diào)用 ID 單獨(dú)存 key會(huì)話里只存引用二是限制單個(gè) value 大小超過(guò)閾值就落庫(kù)三是監(jiān)控用redis-cli --bigkeys或者M(jìn)EMORY USAGE定期排查。熱 key 則是另一個(gè)極端某個(gè) key 被高頻訪問(wèn)把單個(gè)分片的 CPU 打滿。Agent 里常見(jiàn)的熱 key 是全局配置或者熱門(mén)工具的結(jié)果。解決辦法是本地緩存加一層或者給 key 加隨機(jī)后綴做分片讀。4. 緩存一致性Agent 狀態(tài)和數(shù)據(jù)庫(kù)怎么不打架這是最容易出事故的部分。Agent 的會(huì)話狀態(tài)既在 Redis 又在數(shù)據(jù)庫(kù)兩邊不同步就會(huì)出現(xiàn)用戶看到的歷史和實(shí)際存的不一樣這種詭異問(wèn)題。4.1 先搞清楚你的讀寫(xiě)模式一致性方案沒(méi)有銀彈得先看你的讀寫(xiě)模式。Agent 場(chǎng)景大致分兩種寫(xiě)少讀多比如工具調(diào)用結(jié)果、embedding寫(xiě)一次讀很多次。這種用 Cache-Aside 就行讀時(shí)先查緩存沒(méi)有再查庫(kù)并回填。寫(xiě)多讀多比如會(huì)話上下文每輪都在寫(xiě)。這種如果還用 Cache-Aside每次寫(xiě)都要更新庫(kù)再刪緩存延遲高。更實(shí)際的做法是以 Redis 為主存儲(chǔ)異步落庫(kù)。也就是說(shuō)會(huì)話的實(shí)時(shí)狀態(tài)以 Redis 為準(zhǔn)后臺(tái)任務(wù)定期把數(shù)據(jù)同步到數(shù)據(jù)庫(kù)做持久化。def save_turn(session_id, turn): # 先寫(xiě) Redis保證實(shí)時(shí)性 append_turn(session_id, turn[role], turn[content]) # 異步落庫(kù)不阻塞主流程 async_persist_queue.put({session_id: session_id, turn: turn})這個(gè)方案的風(fēng)險(xiǎn)是 Redis 掛了會(huì)丟最近的數(shù)據(jù)。所以關(guān)鍵會(huì)話要么用 Redis 的 AOF 持久化要么接受最多丟最近幾輪的業(yè)務(wù)容忍度。這個(gè)取舍必須和產(chǎn)品方對(duì)齊不能自己拍腦袋。4.2 刪除緩存還是更新緩存經(jīng)典問(wèn)題。我的結(jié)論是優(yōu)先刪除緩存而不是更新緩存。原因是更新緩存容易在并發(fā)下產(chǎn)生臟數(shù)據(jù)——兩個(gè)請(qǐng)求同時(shí)更新后寫(xiě)的可能先到緩存里就留下了舊值。刪除緩存則讓下次讀自然回源邏輯更簡(jiǎn)單。但刪除也有坑就是刪除后瞬間大量請(qǐng)求回源造成緩存擊穿。Agent 場(chǎng)景里如果某個(gè)熱門(mén)會(huì)話的緩存被刪緊接著幾十個(gè)請(qǐng)求同時(shí)回源查庫(kù)數(shù)據(jù)庫(kù)可能扛不住。這時(shí)候要用互斥鎖或者邏輯過(guò)期來(lái)兜底。4.3 延遲雙刪與最終一致如果業(yè)務(wù)對(duì)一致性要求高可以用延遲雙刪更新庫(kù) → 刪緩存 → 延遲幾百毫秒再刪一次。第二次刪是為了清掉在更新庫(kù)到第一次刪緩存這個(gè)窗口內(nèi)被其他請(qǐng)求回填的舊值。不過(guò)說(shuō)實(shí)話Agent 場(chǎng)景里大部分?jǐn)?shù)據(jù)對(duì)強(qiáng)一致的要求沒(méi)那么高。會(huì)話上下文差一兩輪、工具結(jié)果稍微舊一點(diǎn)用戶基本無(wú)感。真正需要強(qiáng)一致的是計(jì)費(fèi)、配額、權(quán)限這類(lèi)數(shù)據(jù)這些我建議直接走數(shù)據(jù)庫(kù)或者用 Redis 的原子操作別摻和緩存那一套。5. 分布式鎖Agent 并發(fā)下的狀態(tài)保護(hù)Agent 多實(shí)例部署后同一個(gè)會(huì)話可能被多個(gè)實(shí)例同時(shí)處理。比如用戶快速發(fā)了兩條消息兩個(gè)實(shí)例同時(shí)讀到同一份上下文各自追加最后就丟了一條。這時(shí)候需要分布式鎖。5.1 用 SET NX EX 實(shí)現(xiàn)基礎(chǔ)鎖Redis 分布式鎖最基礎(chǔ)的實(shí)現(xiàn)就是SET key value NX EX ttl。NX 保證只有第一個(gè)請(qǐng)求能設(shè)置成功EX 保證鎖會(huì)自動(dòng)過(guò)期避免死鎖。import uuid def acquire_lock(lock_key, ttl10): token str(uuid.uuid4()) ok r.set(lock_key, token, nxTrue, exttl) return token if ok else None def release_lock(lock_key, token): # 用 Lua 保證判斷 token 再刪除的原子性 lua if redis.call(get, KEYS[1]) ARGV[1] then return redis.call(del, KEYS[1]) else return 0 end r.eval(lua, 1, lock_key, token)釋放鎖必須用 Lua 腳本先比對(duì) token 再刪除。否則可能出現(xiàn)A 的鎖過(guò)期了B 拿到了鎖這時(shí) A 執(zhí)行完來(lái)刪鎖把 B 的鎖刪了。這個(gè) bug 非常隱蔽線上排查起來(lái)很痛苦。5.2 鎖的粒度別鎖太大也別鎖太小鎖的粒度是個(gè)經(jīng)驗(yàn)活。鎖整個(gè)會(huì)話agent:lock:session:{id}能保證同一會(huì)話串行處理但會(huì)降低并發(fā)。鎖單個(gè)操作比如只鎖追加消息這一步并發(fā)高但可能保護(hù)不全。我的做法是會(huì)話級(jí)的寫(xiě)操作鎖整個(gè)會(huì)話讀操作不加鎖。因?yàn)樽x多寫(xiě)少鎖寫(xiě)不鎖讀能兼顧一致性和吞吐。如果會(huì)話內(nèi)還有更細(xì)的并發(fā)點(diǎn)比如多個(gè)工具并行調(diào)用再單獨(dú)加細(xì)粒度鎖。5.3 鎖超時(shí)與續(xù)期鎖的 TTL 設(shè)多長(zhǎng)是個(gè)難題。設(shè)短了業(yè)務(wù)沒(méi)執(zhí)行完鎖就過(guò)期別的請(qǐng)求進(jìn)來(lái)亂套設(shè)長(zhǎng)了萬(wàn)一持鎖進(jìn)程崩了鎖要等很久才釋放。穩(wěn)妥方案是看門(mén)狗續(xù)期持鎖期間起一個(gè)后臺(tái)線程每隔 TTL/3 的時(shí)間檢查業(yè)務(wù)是否還在執(zhí)行是就續(xù)期。Redisson 這類(lèi)客戶端內(nèi)置了這個(gè)機(jī)制。如果自己實(shí)現(xiàn)要注意續(xù)期和釋放的競(jìng)態(tài)別續(xù)期續(xù)到一個(gè)已經(jīng)被別人拿走的鎖上。注意分布式鎖不是萬(wàn)能的。如果業(yè)務(wù)本身能設(shè)計(jì)成冪等很多場(chǎng)景根本不需要鎖。加鎖之前先問(wèn)自己這個(gè)操作重復(fù)執(zhí)行會(huì)怎樣如果無(wú)害就別加鎖省得引入復(fù)雜度和性能損耗。6. 線上高頻故障超時(shí)、失效與內(nèi)存告警前面講的都是設(shè)計(jì)這一節(jié)講線上真會(huì)遇到的故障。我把最常見(jiàn)的幾類(lèi)列出來(lái)附上排查思路。6.1 command timed out別急著怪 RedisRedis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException這個(gè)報(bào)錯(cuò)很多人第一反應(yīng)是Redis 掛了。實(shí)際上大部分情況是客戶端側(cè)的問(wèn)題。排查順序我一般這樣走先看 Redis 服務(wù)端慢日志SLOWLOG GET確認(rèn)有沒(méi)有慢命令。再看客戶端連接池配置是不是連接數(shù)不夠?qū)е屡抨?duì)。檢查有沒(méi)有大 key 操作比如HGETALL一個(gè)幾萬(wàn)字段的 Hash??淳W(wǎng)絡(luò)尤其是跨機(jī)房訪問(wèn)RTT 高的時(shí)候默認(rèn)超時(shí)很容易觸發(fā)。Lettuce 默認(rèn)命令超時(shí)是 60 秒但很多框架會(huì)覆蓋成更短的值。Agent 場(chǎng)景里如果某個(gè)工具調(diào)用結(jié)果特別大序列化反序列化耗時(shí)也會(huì)算進(jìn)超時(shí)。我遇到過(guò)一次就是工具返回了幾 MB 的 JSON反序列化慢導(dǎo)致偶發(fā)超時(shí)。后來(lái)改成只緩存必要字段就好了。6.2 緩存失效引發(fā)的雪崩如果大量 key 在同一時(shí)刻過(guò)期請(qǐng)求會(huì)同時(shí)涌向數(shù)據(jù)庫(kù)。Agent 場(chǎng)景里如果所有會(huì)話的 TTL 都是固定 1 小時(shí)且用戶集中在某個(gè)時(shí)段活躍就可能在整點(diǎn)附近觸發(fā)雪崩。解決辦法是給 TTL 加隨機(jī)抖動(dòng)import random def set_with_jitter(key, value, base_ttl): jitter random.randint(0, int(base_ttl * 0.1)) r.set(key, value, exbase_ttl jitter)這樣過(guò)期時(shí)間就分散開(kāi)了。另外熱點(diǎn)數(shù)據(jù)可以用邏輯過(guò)期value 里存一個(gè)過(guò)期時(shí)間戳物理上不過(guò)期讀到邏輯過(guò)期時(shí)異步刷新避免大量請(qǐng)求同時(shí)回源。6.3 內(nèi)存告警與淘汰策略Redis 內(nèi)存滿了會(huì)觸發(fā)淘汰。Agent 場(chǎng)景下如果淘汰策略設(shè)成allkeys-lru可能把正在用的會(huì)話上下文淘汰掉導(dǎo)致用戶失憶。如果設(shè)成noeviction寫(xiě)入直接報(bào)錯(cuò)。我的建議是會(huì)話上下文這類(lèi)不能丟的數(shù)據(jù)單獨(dú)放一個(gè)實(shí)例或用單獨(dú)的 DB配置volatile-lru只淘汰設(shè)了過(guò)期時(shí)間的 key。而工具結(jié)果、embedding 這類(lèi)可重建的數(shù)據(jù)可以容忍淘汰。物理隔離比在一個(gè)實(shí)例里靠策略區(qū)分更可靠。故障現(xiàn)象常見(jiàn)根因排查入口command timed out連接池不足 / 大 key / 網(wǎng)絡(luò) RTTSLOWLOG、連接池監(jiān)控緩存雪崩TTL 集中過(guò)期檢查 TTL 是否加抖動(dòng)用戶會(huì)話丟失內(nèi)存淘汰 / key 被誤刪淘汰策略、內(nèi)存監(jiān)控?cái)?shù)據(jù)不一致雙寫(xiě)時(shí)序問(wèn)題檢查刪除/更新順序鎖失效TTL 過(guò)短 / 未續(xù)期鎖監(jiān)控、業(yè)務(wù)耗時(shí)統(tǒng)計(jì)6.4 主從與集群下的坑如果用了主從或者集群有幾個(gè)坑要提前知道。主從復(fù)制是異步的主節(jié)點(diǎn)寫(xiě)入后還沒(méi)同步到從節(jié)點(diǎn)就宕機(jī)鎖可能丟失。集群模式下涉及多個(gè) key 的操作比如 Lua 腳本里操作多個(gè) key要求這些 key 在同一個(gè) slot否則會(huì)報(bào) CROSSSLOT 錯(cuò)誤。解決辦法是用 hash tag比如agent:ctx:{session123}:turns和agent:ctx:{session123}:meta大括號(hào)里的內(nèi)容相同就會(huì)落到同一個(gè) slot。7. 我踩過(guò)的幾個(gè)真實(shí)坑和對(duì)應(yīng)經(jīng)驗(yàn)理論講完了說(shuō)幾個(gè)我自己項(xiàng)目里真踩過(guò)的坑這些在文檔里基本看不到。第一個(gè)坑用 List 存會(huì)話讀取時(shí)全量拉取。一開(kāi)始圖省事LRANGE key 0 -1把整個(gè)會(huì)話拉出來(lái)。會(huì)話短的時(shí)候沒(méi)事聊到幾十輪后每次讀取都要傳輸幾百 KB延遲肉眼可見(jiàn)地漲。后來(lái)改成只拉最近 N 輪更早的按需回?fù)蒲舆t立刻降下來(lái)。教訓(xùn)是緩存讀取要按需別圖省事全量拉。第二個(gè)坑工具結(jié)果緩存沒(méi)做參數(shù)規(guī)范化。同樣的查詢前端傳參字段順序不一樣算出來(lái)的 key 就不一樣緩存命中率極低。加了sort_keysTrue之后命中率從 20% 漲到 70% 多。這個(gè)改動(dòng)一行代碼收益巨大。第三個(gè)坑分布式鎖 TTL 設(shè)太短。有個(gè)工具調(diào)用偶爾要跑 15 秒鎖 TTL 設(shè)了 10 秒結(jié)果鎖提前過(guò)期兩個(gè)請(qǐng)求同時(shí)寫(xiě)會(huì)話數(shù)據(jù)錯(cuò)亂。后來(lái)加了續(xù)期機(jī)制才解決。教訓(xùn)是鎖 TTL 要大于業(yè)務(wù) P99 耗時(shí)且要有續(xù)期兜底。第四個(gè)坑監(jiān)控缺失。上線初期沒(méi)做緩存命中率監(jiān)控出了問(wèn)題只能靠猜。后來(lái)加了命中率、平均耗時(shí)、大 key 數(shù)量這幾個(gè)指標(biāo)排查效率完全不一樣。Agent 緩存這種動(dòng)態(tài)性強(qiáng)的場(chǎng)景沒(méi)有監(jiān)控基本等于盲開(kāi)。第五個(gè)坑把 embedding 向量用 JSON 存。一個(gè) 1536 維的向量JSON 序列化后體積膨脹好幾倍內(nèi)存消耗遠(yuǎn)超預(yù)期。改成二進(jìn)制存儲(chǔ)后內(nèi)存占用直接砍半。涉及數(shù)值數(shù)組的場(chǎng)景一定要用二進(jìn)制序列化。8. 一套可落地的 Agent 緩存分層方案最后把我實(shí)際項(xiàng)目里用的分層方案整理出來(lái)可以直接參考。第一層本地緩存進(jìn)程內(nèi)。存全局配置、工具元數(shù)據(jù)這類(lèi)幾乎不變的數(shù)據(jù)。用 LRU 結(jié)構(gòu)容量小命中快不占 Redis 資源。第二層Redis 熱數(shù)據(jù)。存會(huì)話上下文、工具結(jié)果、規(guī)劃中間態(tài)。按數(shù)據(jù)類(lèi)型分 DB 或分實(shí)例配置不同的淘汰策略和 TTL。第三層數(shù)據(jù)庫(kù)持久化。會(huì)話歷史、重要工具結(jié)果落庫(kù)作為最終真相來(lái)源。Redis 里的數(shù)據(jù)丟了可以從這里重建。讀寫(xiě)路徑上讀優(yōu)先本地再 Redis最后數(shù)據(jù)庫(kù)寫(xiě)以 Redis 為主異步落庫(kù)。鎖只在會(huì)話級(jí)寫(xiě)操作上加讀不加鎖。TTL 全部加抖動(dòng)熱點(diǎn)數(shù)據(jù)用邏輯過(guò)期。這套方案不是最優(yōu)解但在多實(shí)例、中等并發(fā)、成本敏感的 Agent 項(xiàng)目里跑得比較穩(wěn)。具體參數(shù)還得根據(jù)你的 QPS、數(shù)據(jù)量、一致性要求去調(diào)。我個(gè)人的體會(huì)是Agent 緩存治理這件事設(shè)計(jì)階段多想一步比上線后救火省十倍力氣。尤其是 key 設(shè)計(jì)和 TTL 策略改起來(lái)牽一發(fā)動(dòng)全身一開(kāi)始就定好規(guī)矩后面會(huì)輕松很多。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产av色网| 亚洲精品一二区| 欧美成人一级免费电影| 第45页一区二区| 蜜臀久久99精品久久久久久婷婷| 桃色五月天| 久久超碰天天| 亚洲欧洲小说图片视频| 亚洲深夜福利| 激情文学网伊人| 中文字幕精品三级久久久| 夜夜操美女| 嗯嗯啊操我| 老司机香蕉久久久久| 综合熟女| aa片毛片| 午夜成人福利影视| 天天做日日做| 亚洲人久久久网| 欧美性生活免费网| 亚洲凸凹超碰成人| HEYZO高无码国产精品227| 大香网伊人久久综合网eew| 日韩成人精品| 蜜桃传媒视频第一区入口在线看| 婷婷激情五月综合| 26uuu久久| 国产视频一区二区三区久久亚洲天堂| 精品蜜乳AV免费观看| 少妇国产不卡| 日韩精品一二三四| 麻豆国产视频精品观看| 91国内外在线| 欧美1727免费观看视频| 国产女人和拘做爰视频| 淫荡网址| 97日视频| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 秋霞曰韩R级| 熟女一区二区三区| 无码 有码 国产18p| 美女网站黄页| 欧美熟女妇同| 亚洲激情四射| 无码精品久久| 亚洲综合另类色图| 色诱中文字幕| 这里都是精品在线观看| se吧提供国产乱老熟视频胖女人| 天操天操夜操夜月月年年操操| 1024日韩| 日韩人妻制服丝袜av| 操逼无毒无码免费视频| 97超碰国产精品| 伊人丁香五月婷婷| 久热这里只有精品9| 射欧美综合| 黄aaaaaaaaaaaaaaaaaa色网站| 中国熟妇| 啊v在线观看视频| 97亚洲资源| 激情啪啪拍91| 婷婷色色五月天福利| 欧美女同在线| 秋霞一区二区三区四区五区六区七区| 中文激情网| 日韩操逼性鲍| 91成人18| 亚洲日韩资源| 久久久久9999精品九九九| 91久操| 国产午夜精品理论片一二三区区 | 日本一区二区三区欧美日韩中文字幕| 啪一啪免费视频| 蜜臀久久99精品久久久久久-DVD原版全| 成人八戒网站| 亚洲美女AV无码| 青操影院| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 台湾佬中文娱乐网久久久久久久久久com | 极品尤物在线观看| 一级特黄aaa大片在线观看成人一级片在线观看 | www.人人cao| 日韩免费中文字幕视频| 中文字幕99999| 免费草草草草草视频| 熟妇人妻一区二区三区| 首页亚洲国产高跟丝袜诱惑视频 | 天天综合~91| 2020天天色综合| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 国产精品视频内谢女人| 春色91| 超碰 欧美| 青青欧洲黑| 日韩97视频!在线| 日本精品第一视频在'| 国产女同视频在线播放| 久久久久久电影| 成年人网站在线免费观看| 亚洲在线91| 日日夜夜骑| 亚洲人综合| 97精品久久久久中文字幕| 天天综合香 ld视频| 天堂精品小草| 国产农村妇女精品一| 天美传媒国产原创中文字幕亚洲欧美另类| 日韩三级在线观看网站| 国产AV中文| 蜜臀久久久99久久久久 | 不卡视频一区蜜桃视频 | 色99久草| 久久线上视频免费看| 加勒比无码毛片| 欧美综合传媒| 91高清欧美| 97在线观| 秋霞网无码| 日韩激情无码影院| 啪啪视频亚洲第一| 亚洲乱码尤物193YW| A片 AV一级在线播放观看免费 | 超碰免费97| 一起草在线视频| 超碰午夜| 夜夜影视四色| 久久欧美1卡2卡3| 北京美女一区二区| 男人的天堂久久狠| 人妻丝袜日本| 男女啪啪网站免费视频| 无码国产Av| 人人看人人爰人人操| 国产精品婬乱一级毛片彝族| 亚洲九区| 亚洲永久AV无码精品秋霞| 亚洲中文字幕日产无码久久| 蜜桃狠狠色伊人亚洲综合| 午夜亚洲| 国产91影院| 国产兽交视频在线播放| 色综合色欲色综合色综合色综合| 黑丝内射一区二区三区| 青青伊人这里只有精品| 综合亚州欧美| 午夜人人操| 久久国内| 97这里都是精品| 91碰碰| 国产日本一区二区三区蜜臀在线观看| 国产精品盗摄 偷窥盗摄| 国产高清26uuu| 成人a大片在线观看| 淫纸中9区| 91大神电影天堂| 日韩少妇无吗| 91综合在线| 亚欧视频在线| 在线啊啊啊啊| 国产一二三福利视频网| 欧美性生活免费网| 殴美牲| 中文字幕神马久久| 精品无码久久久久久久杏吧| 日韩成人综合网| 欧美永久激情一区二区| 97国产精品一区| 亚洲αv一区二区三区| 大香蕉AV丝袜| 91成人无码| 日韩无码黄色片| 白丝1区2区3区| 91欧美情色| 家庭乱伦性爱av| 男人下部插入女人下部| 亚洲男人天堂手机版| 操逼天美3区| 久久精品视频久久久| 久久久久久裸体| 13小男生GAY自慰脱裤子| 婷婷五月天激情网| 天操天操夜操夜月操月年年操操| 日韩免费大片一级播放| 欧美午夜色妇色鬼| 野狼福利社区| AV九九| 亚洲视频二区| 爽极品影院| 大香蕉十区| 国产97视频| 四虎影院成年人片| 四方色播| 91在线色综合| 超碰97护士| 91狠狠综合久久| 丝袜视频网国产90| 国产一区二区啪啪视频| 人人摸人人舔一区二区| 九九色图| 香蕉精品二区二区| 国产免费一区二区在线A片视频| 亚洲十八禁止| 国产AV无码AV| 久久视频,这里只有精品| 国产91啪| 大香蕉色欲AV| 超碰在线国产| 亚洲色婷婷久久91| 干b在线性社区| 婷婷av在线中文字幕| 快点操死我| 韩国一级做a久久久久| 国产av尤物| 免费视频一二三区| 日本三级小说中文字幕| 在线色导航| 夜夜免费视频| www.国产高潮精品| 91bbbbbb| 99热aaa| 91深夜夜| 97视频免费在线| 久操精品网| 日韩精品人妻一区二区| 亚洲大色堂| 在线一道啪| 91热色| 首页亚洲国产高跟丝袜诱惑视频| 97在线免费视频| 91伊人大香蕉| 天天插天天操| 无码高清操逼| 欧美色道啊| 激情av| 日本操逼aaaaa| 午夜AV污污污| 男人的天堂2019AV| 国产精品人妻熟女aⅴ| 亚洲精品久久久久久| 一区二区偷拍拍视频| 伊人国产成人av网站| 蜜桃色院一区久久| 亚洲色综合| 国产精品分类在线观看| 蜜汁欧美| 97精品视频网站| 91久操| 国产一级特黄大片处女| 国产又粗又长又大的视频| 九九九久千久久激情蜜桃在线看 | 欧美十八禁导航成人| 亚洲清纯综合| 日韩钢筋无码高清啾啾啾| 青青草天天亲夜夜操网| 岛国免费视频在线| 久久激情婷婷| 伊人亚洲综合| 手机久操欧美综合色码| 九九Av| 国产成人午夜视频网址| 日本乱人伦片中文三区| 亚洲天堂一二| 麻豆一区二区三区精品| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 国产无吗在线播放| 巨乳特殊服务按摩| 骚熟女AV网| 蜜臀AV成人精品蜜臀AV久久| 97资源制服丝袜| 亚洲无线码一区国产欧美国| 中文字幕一区二区免费在线| 青春草莓视频在线观看网址| 丰满人妻-区二区三区免费看| 国产久久日| 麻豆 欧美 日韩| 日韩黄色电影网站| 欧美日本中字另类在线| 久久精品国产亚洲AV高清演员表| 青青操网| 欧美激情一区| 天天伊人| 91中文字幕制服丝袜免费视频| 日本二三四区| 友优传媒精品在线一区二区| 99热这里都是精品| 传媒在线观看一区二区三区| 亚洲在线观看| 九九九九97| 亚洲视频,小说| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 亚洲熟女综合一区二区| 91老司机精品| 精品人妻丰满熟妇一区二区三| 国产精品一区二区麻豆| 麻豆传媒一区二区在线观看| 69丨亚洲丨精品丨入口免费播放| 99久在线精品99re8a| 天天享受天天看| 福利风月五月天影院| 97超碰jingpin| oumeisetu综合| 九九热精品视频在线观看| 91精品丝袜久久久久久| 色色五月婷婷| 欧美少妇熟女| 天天日天天射天天干| 久久伊人网视频一区二区三区| 无码99| 白丝1区2区3区| 嗯嗯嗯啊啊啊操的我好爽| 精品妇女一区二区三区| 懂色AV中文| 蜜桃精品视频一区| 欧洲大香蕉| 欧美性五月| 亚洲 欧美 第一页| 女性91网站| 中文字幕精品免费一区二区| 亚洲好看强奸乱伦| 国产精品久久久久久 百度| 国模少妇一区二区三区 | 翔田千里AⅤHD无码| 国产精品999zyz| 日韩精品 视频一区二区| 操逼视频免费日韩无码| 国产原创自拍| 乱久久久| 97超碰色色| 男女猛烈无遮掩视频免费软件| 国产精品区在线12p| 在线看片国产精品每日更新| 久久精品人体AV| 自拍丝袜美腿人妻| 欧美另类天堂| 久久性爱视频免费看| 色综合久久av| 欧美色三级片91| 女人的天堂大香蕉网| 久久9999 | 亚洲成a人v欧美综合天堂下载| 日韩免费簧片| 国产精品无码AV网站| 猛交交| 超碰1997| 91性色| 欧美强奸乱能| 亚洲精品久| 日本孕妇孕交| 国产精品直播在线观看直播| 性色av婷婷久久一区二区点复制| 91美女在线精品视频| 经典丝袜一区| 青娱乐老司机视频| 精品久热| 91麻豆一二三区| 日韩一二三区| 五月婷在线| 亚洲的天堂网| 国产久久成人| 欧美中文字幕一区| 亚洲97在线| 牛黄色久午久| 天天干夜夜肏| jk白丝没脱就开始啪啪| 久久9久9久99久9久9| 国产农村妇女毛片精品久久| 久草免费在线一区二区| 97超碰免费人人性爱| 日韩一级二级三级在线不卡观看完整| 爆操无码| 日韩精品影视| 能在线播放的国产三级| 少妇500双飞99| 97aiaiai| 欧美亚洲玖玖玖| 色欧美在线| 麻花传媒免费网站在线观看| 91久久久老司机| 明星性猛交ⅹxxx乱大交| 欧美激情综合| 奶水 人妻 哺乳 在线| 国产精品一区二区三区,亚洲综合| 欧美一区二区日韩传媒搭讪精品| 黑人娇小av在线播放| 天天天天干| 中文字幕免费在线观看| 99综合网| 国产女人视频三四五区| 大香蕉碰| 日本操逼视频免费| 蜜臀在线免费观看在线免费观看| 亚洲欧美不卡线| 天天插天天插| 91人妻人人澡人人爽人人精品| 午夜色婷婷| 亚洲情色 自拍| 国内三级自拍小视频在线观看| 精品少妇一区二区| 99热最新网址| 超碰97护士| 国产四虎在线| 操逼天美3区| 欧美影音在线| 一级性爱aaaa| 97免费视频在线| 亚洲91少妇| 日本中文字幕不卡视频| 亚洲视频一二区| 干干干天天| 91精品婷婷国产综合久久| 午夜色婷婷| 性猛交| 中文字幕 一区二区 亚洲无码| 国产无码久久高清| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 狠狠97| 日本三级中国三级99人妇网站| 成人青青草原伊人| 啊灬快c我灬啊灬用力灬啊灬-国产精品性做久久久久久-成人AV | 日本不卡高清视频| 天美传媒麻豆一区二区三区国产精| 99色视频| 蜜臀AV秘一区翔田千里| 久肏视频字幕| 婷婷国产精品九区| 人人人人插| 加勒比99999| 99re这里只有精品3| 啪啪啪东京| 91青青在线视频| 加勒比大香蕉视频在线| 眼镜人妻101.com| 久久久草草精品| 精品一区二区三区蜜桃臀赵总 | 6080yy午夜理论三级一区二区三区无码| 麻豆国产原创AV色哟哟 | 色吧5亚洲| 天天操天天7| 亚洲最大91网| 色色色色电影网| 亚洲码在线中文在线观看| 色踪合AV| 久久婷婷色综合一区二区三区| 内射小黄片| 欧美狠狠狠| 欧美精品丝袜久久久中文字幕| 男人的天堂激情| 亚洲精品毛片在线观看| 啊啊啊草死我| 97在线视频观看免费| 国产久久久9999| 黄片免费看黄片免费看| 亚洲日韩视频二区| 亚洲婷婷丁香在线| 99re这里只有精品2| 久久久久久久久九九久孕交| 久久精彩视频| 国产精品探花在线| 美女午夜福利免费视频| 亚洲国产成人精品久久久国产成人一区二区| 国产刺激视频| 99热99在线播放激情| 亚洲国产综合图区中文字幕 | 91高潮喷水美女| 久久综合日韩亚洲欧美| 91色综| 99精品久久久久久久婷婷蜜桃| 成人26uuu| 日本一区二区中文字幕久久| 成人性交午夜免费片| 嫩草黄页| 啊啊啊啊啊啊啊在线| 亚洲精品天天影视综合网 | 91天堂网| 亚洲色交| 97国产精品一区| 国产乱不卡| 伊人亚洲综合| 欧美 日韩 婷婷 五月| 中文乱码99| 99精品丰满人妻无| 内射黑人| 伊人久久大香蕉线AV五月天| 中文字幕精品人妻丝袜| 欧美亚综合色图| 亚洲情色五月天 | 日本超碰在线国产一区| 天综合网| 久久综合18p| 国产av白丝| 久草综合京东| 91青视频| 日日夜夜骚| 用力操死我| 绑缚麻绳人妻寝取完整版| 青青操少妇| 日韩激情视频| 激情视频一二三| 免费草草草草草视频| 日本天堂在线播放| 黑丝制服中文字幕| 亚洲无码一区成人免费午夜| 欧美97爱| 欧美日韩另类在线| 欧日a| 日本污ww视频网站| 啊啊啊好爽快点啊啊啊嗯嗯| 亚洲一区深夜| 日韩懂色网| 超碰97欧美日韩| av日韩中文字幕| 日本色日夜干| 亚洲无无码αⅴ每日更新| 色综合久久av| www.色婷婷色综合| 日本一区二区三区欧美日韩中文字幕| 97 国产一区| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 亲子敌伦对白在线播放| 免费少妇一区二区| 亚洲国产日韩欧美熟妇在线| 精品人妻一区二区三区-国产| 国产精品欧美激在线| 香蕉av一区二区三区| 超碰精品97| 天天看夜夜看日日干| 人人人人插| 伊人久久88国产女| 九九热精彩视频| 国产蜜臀精品一区二区尤物| 欧美大香蕉久| 亚卅熟女乱色| 久久国99999| 天堂亚洲精品| 欧美激情视频在线一区| 九九香蕉网| 欧美日本天堂| 天天cao在线| 再深点灬舒服灬太大了添视频 | 人妻日日干| 日韩性色b| 91视频综合在线| 亲子敌伦对白在线播放| 96久久精品一二三区色欲| 久久婷婷色综合一区二区三区| 久久99精品九九久久久婷婷| 亚洲综合九九| 国产呦精品一区二区三区下载| 无码heyzo高清一区| 乱操9999| 亚洲制服aⅴ中文字幕| 色色热| 久久久久96| 久久久精品中文字幕爱豆| 99欧美| 精品九九淫乱男| 国产强奸乱伦无码视频| 欧美九9 9 9| 久久人妻一区二区三区高清| 熟女这里只有精品6| 亚洲日韩AV视色| 黑人精品欧美一区二区蜜桃| 在线观看色视频| 色婷婷婷五月天激情四射| 久久久91| 五月天丁香| 精品丰满熟妇人妻一区| 黄色视频特级毛片| 国产精品国产| 日人妻视频91| 九九av| 成人乱人伦一区二区| 67914在线精品观看| 91人人操| 久久天天性久久伊人| 亚洲男人天堂手机版| 婷婷午夜| 天天操天天舔| 亚洲色吧网| 夜夜躁狠狠躁日日躁av| av中文在线| 色九九久九九| 五月丁香婷婷综合| 高清视频一区| 狂操嫩妻视频一区二区三区| 伊人久久AV诱惑悠悠| 激情第四色| 丝袜AV一区二区三区| 五月天婷婷色| 又大又大又大又粗爽高潮观看| 玖玖综合.com| 国产精品午夜AV完会免费| 欧美久久草熟女| 亚洲欧美国产va在线播放频| 自拍丝袜美腿人妻| 日韩精品一区二区日韩| 99爱爱| 性爱av在线免费观看| 国产伊人精品在线| 色妹子A V| 国产美女口爆吞精视频| 国产三区免费在线观看| av亚欧| 新久久AV| 九九亚洲| 中文字幕一品色图| 国产精品九九九| 日本日皮视频逼| 超碰调教97| 91制服丝袜中文字幕| 高树玛利亚无码流出| 美女爽爽爽刺痛洞洞| 国产黄色在线播放观看| 丁香婷婷色五月| 久久小视频| 在线小视频| 亚洲色婷婷久久91| 国产精品又黄又猛又粗| 国内97干免费看| 蜜臀AV网站| 97在线免费看视频| 台湾大香蕉99热| 人人摸人人叼| 亚洲天天综合| 成人精品水蜜桃久久久久久久| 中文字幕一区日韩精| 国产一级高清免费观看| 人妻熟妇久草在线| 中文字幕第页| 日va操| 成年人黄色| 欧美综合 站| 先锋精品av色鲁| 国内亚洲精彩视频在线| 欧成人精品一区二区三区| 久久综合女优| 欧美少妇熟女| 国产 无码 一区二区| 夜夜嗨视频| 亚洲图片在线| 九九热超碰97亚洲最新香蕉| 天堂种子在线www网资源| 免费观看成人www精品视频| 久草老司机| 欧美亚洲一区二区久久久婷精品大包诱| 狠狠色丁香| 正在播放国产精品一区| 国产精品96久久久久久| 少妇人妻精品| 亚洲日韩AV视色| 精品黑人一区二区| 天天草夜夜草高潮片| 久久精品—区二区三区内射| 欧亚揄拍偷拍精品视频 | 欧美熟女妇同| http://qxhbdz.com| 欧美日韩岛国大片在线观看| 中文字幕国产| AVE乱伦| 97视频免费播放| 香蕉国产97| 欧美 亚洲 91| 久久精9| 夜夜操天天肏| 久久理论字幕视频| 小少妇| 91超级碰| 国产精品成人在线| 日本精品第一视频在'| 精品一区二区成人| 日韩人妻制服丝袜av| 无码人妻一区二区三区色欲aⅴ | 公司1区2区3区精产精| 中文字幕十五区| 黄网站黄视频网站进入口| 91精品电影18| 中文字幕一区 二区三四五 区日 日骚 | 内射中国少妇高清视频免费视频| 夜草欧美| 青草影院内射高潮| 日韩中文字幕宗合在线| 午夜福利在线合集| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 欧美色图欧美| 粉嫩av一区二区三区天美传媒| 国产91美女视频| 欧洲亚洲人妻无码久久三区四区| 96精品久久久| 校园激情狠狠四射| 高清无码人妻久久久一区二区三区aⅴ| 国产剧情一区在线观看| 又大又白奶子| 炮色五月| 蜜臀AV成人精品蜜臀| 4141514逼喷水三级片| 四虎AV无码| 亚洲中文电影| 物业黑人 AV一区| 久热精品在线| 97资源久久| 日韩一级久久毛片| 岛国毛片在线观看免费| 欧日a| 噜噜噜狠狠色综合| 青青草日逼视频| 啊啊啊啊啊好大好舒服想要| jiujiujiujingpin| 亚州欧美在线| 一级做a爰片性色毛片久久| 可以在线观看的黄色网址| 国产人伦a片信息免费片| 午夜男女爽爽爽在线视频| 五月天激情小说| 日本女厕偷拍| 亚洲素人综合| 中文字幕三四区| 中国一级操逼视频| 超碰99在线观看| 久久久久密| 久男人久久| 91人妻在线视频| 欧美一区二区三区入口| 能看的AV| 曰本91情色| 亚洲欧美洲综合| 亚洲?V无码专区在线电影| 日韩一级片在线看| 欧洲射精91| 日韩射图| 五月丁香六月综合缴清无码| 色综合网1| 熟妇熟女一区二三区| 久久久久婷婷精品av电影| 九九九九九九视频免费| 激情干在线| 国产自产91区13区| 五月天婷婷社区| 女人被男人桶爽视频网站| 天天干美少妇一区| SUV一区二区在线看| 人妻欧美| 国产女性无套 免费观看| 开心六月色| 1024精品在线| 欧美成人性爱视频免费观看| 国产自产91区13区| 国产熟女无套内射| 欧美午夜一区二区三区| 亚洲色欲一区二区三区| 亚洲少妇视频| 丝袜美腿制服人妻二区中文字幕| 亚洲码和欧洲精品激情系列| 天天综合网~91| 国产精品香蕉热久久新品| 久久蜜桃综合网| 69精品| 欧美顶级黄片AAAAA在线免费看 | 国内外色色色色色成人视频| 嗯嗯啊啊的视频| 亚洲乱色熟女一区| 99自拍B亚洲 | 影音先锋每日最新资源在线观看| 丁香五月综合| 精品国产a∨一区天美传媒| 乱论91| 超碰538| 强奸乱伦AV一天堂网| 欧美色三级片91| 亚洲资源站| 久久婷五月| 日日骚一区二区三区| 亚洲aV性爱| 欧美在线综合| 在线综合色| 日日干夜夜欢| 99精品久久久久久久婷婷| 亚洲欧美一区二区不卡视频播放 | 91白嫩| 无码伊人久久大杳蕉中文无码| 欧美日韩人妻少妇 一区二区三区| 国产日韩在线播放av| 91在线色| 岛国视频一二三区| 日韩久草| 国产亚洲禁久一区二区| 久久中文字幕女同性恋一区| 入口操逼网站| 久热精品在线| 久久久久9999| 成人性交午夜免费片| 日韩国语字幕| 精品三级在线专区| 啊啊啊啊在线观看网址| 久久久久久69国产一区二区| 久久啊啊啊视频| 国产AV毛片| 果冻传媒A片一二三区| 亚欧国产无码精品在线| 老司机香蕉久久久久| 中文字幕在线播放2中文字幕在线观看2| 欧美精品双插| 日本十八禁免费看污网站| 欧美传媒一区| 看一级黄色视频| 鸥美中出| 大香蕉国产中文自拍| www.大香| 啊啊啊男女| 97超碰69| 亚洲91在线播放影院| 大屁股熟女一区二区三区| 亚洲激情在线| 17c嫩草51久久91嫩草| 超碰97在线 欧美 国产| 激情干在线| 九九九九久久久久| 国产美女激情| 九九无码视频| AV乱伦国产| 国产视频第2页| 激情AV| 国产精品麻豆成人av| 亚洲欧美在线综合| 五月婷丁香| 亚洲h片在线免费观看| 9久9久| 久久久99久9| 亚洲欧洲日韩国产自在线| 欧美日韩亚洲天堂| 精品乱码久久久久| 九九Av| 色翁荡息又大又硬又粗又爽| 校园春色美腿丝袜 | 国产又长又大又粗的视频| 超碰97爽| 日本肉体xxxx裸交| 日本高清免费一本视频在线观看| 精品人妻视频一区二区在线播放 | 国产激情在线| 黄色香蕉视频网站一区| 免费视频观看60秒| 热久日综合| 青青草日韩无码| 国产亚洲美日韩Aⅴ中文字幕无码成人| 精品一区96| 日本国产欧美高清在线| 思思久热在线精品66| 亚州欧美总和| 97视频在线免费看| 亚洲国产成人高清在线| 国产亚洲精品激情| 92一区二区| 欧美热图99| 国产女人9999| 双插在线| 亚洲 欧美 中文 日韩超碰| 亚洲综合中文字幕有码| 2019精品国产无码成人| 久九色| 亚洲欧美综合图片| 60秒免费视频| 一直超碰| 久久有碼| 婷婷五月天久久精品视频一区二区三区 | 亚洲91网| 中文字幕视频在线观看| 9九九国产| 老司机午夜福利视频一区二区| 黑人天8A∨高清网站| 精品国产一区二区三区av在线资源| 国产中文字幕曰本毛片| 欧美日韩国产三级黄色| 久久精品国产AV一区二区三区| 少妇一区二区三区| 丰满人妻-区二区三区免费看 | 欧美亚洲综合高清在线| 精品人妻久久久久一区二区三区| AV天黑人| av日韩中文字幕| 亚洲色图第一页| 欧美亚州色的图| 国产地址二三| AV中文字幕剧情1区2区3| 国产午夜视频| 97超碰色屌| 色情亚洲日本成人| 精品97久久综合| 无码人妻丰满熟妇奶水区毛片| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 91情色| 欧美偷拍| 999精品久久久久久久| 久久东京热久久| 啊啊啊啊操死我| 不卡日本一区二区| 成人羞羞视频国产| 天天夜躁日日躁狠狠2002| 伊人操你| 国产一级不卡在线观看| 亚洲导航深夜福利| 九九探花视频在线观看| www.色婷婷色综合| 天天爽天天操| 久久欧美1卡2卡3| 综合日韩激情另类图片| 亚洲青色欧美| 熟女久久久| 东京太热男人的天堂久久久| 亚洲精品97久久| 高清无码久操视频| 黄色电影观看久久9| 亚洲最新中文字幕免费| 一区在线观看中文字幕| 六月婷婷五月丁香| 五月天色图| 中文字幕第23区| 色哟哟av| 在线日韩日本亚洲国产| 成在线人在线观看视频| 亚洲 欧美 手机在线观看| 国产欧美一区激情交| 亚洲 欧美 中文 日韩超碰| 91撸色网 玖玖网 欧美| 97精品在线| 久午视频| 国产家庭乱伦性爱视频| 中文字幕日本久久| 奸色色 男人天堂 天天射| 天天综合网AV91| 一卡二卡三卡| 思思热在线视频在线| 国产综合永久精品日韩鬼片| 天天干,夜夜爽| 亚洲av热热色| 清纯唯美综合亚洲| 亚洲AV麻豆Aⅴ无码电影一| 老熟女乱子伦中文字幕一区二区| 丁香五月天堂网| 欧美老妇女内射网址| 成人情色综合网| 亚洲美女av无码| 女人午夜视频777| 亚洲AV乱码专区国产噜噜亚洲| 久久久久久久六六 | 亚洲诱惑天堂| 人人操人人摸人人骑| 中文字幕成人理论在线| 97操97色| 亚洲 欧美 日本 国内 首页| 日韩免费av片高清无码| 久久综合激情| 青娱乐手机日韩在线视频| 先锋女优在线观看视频| 国产精品亚洲天堂网址| 色噜噜综合在线| 加勒比性爱成人在线| 100啪啪视频大全| 丁香五月成人| 91超碰在线播放| 国产精品久久久久久久无码AV| 亚洲一区中文字幕一区| 国产精品乱码久久久久久久久久久久| 亚洲黄色电影| 欧美丝袜制服久久| 国产SV一线| 日本色日夜干| 色官网在线| 超碰在97| 嫩草在线视频| 亚洲不卡不卡中文字幕不卡| 九九九成人| 性爱免费视频成人| 免费农村成人少妇人妻Aa一区二区视频 | 一二三四免费视频| 黑人精品欧美一区二区蜜桃| 亚洲成人日韩小说| av午夜玫瑰| a亚洲欧美色欲| 欧美日韩国产在线| 正宗无毛一线天嫩逼| 日韩欧美午夜视频在线| 久久久久七视频| 亚洲男人综合| 淫色网综合| 日韩亚洲欧美中文字幕| 成人婷婷丁香| 天天干18禁| 99re在线观看| 久久久555| 日日夜夜天天| 97资源亚洲| 能看的AV| 久操免费观看| 六月丁香五月婷婷| 97亚洲色图| 五月婷婷激情综合| 久久国产精品m码| 天天干少妇| 少妇高潮九九九九| 日夜啪电影| av三级电影在线播放| 素人美腿视频网站| 1769一区| 台湾大香蕉99热| 一级片在线观看高清无码| 美日韩在线不卡人妻| 曰韩操B| 伊人少妇久久久| 午夜黄色免费在线观看| 天美av在线| 天天操天天插| 屁股久久久久久久| 亚洲不卡av在线| 国产精品区在线12p| 1000午夜黄色| 90后性网国产欧美| 久久久久久久91| 怡红院怡春院| 伊人久久在线视频观看| 中出在线视频| 亚洲激情久久| 国产精品白领在线观看 | 色哟哟-国产专区| 欧美日日操| 后入式五六区| 亚洲天堂中文字幕无码男同| 在线日韩日本亚洲国产| 极品粉嫩少妇视频| 国产女人91精品嗷嗷嗷嗷| 风韵犹存大大大大香蕉 | 久久久99久9| 无码精品久久久天天影视| 久久精品99| 亚洲高潮少妇| 国产精品一区二区久久精品| 91无摭挡| 天天综合亚在线| 日本三级一区二区 在线| 高潮9999外国| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 亚洲无码精品AV久久久| 美女淫穴| 黄片在线免费在线观看| 97色97干| 91激情综合| 女色视频社区| 日韩美女操b| 人人妻人人玩人人澡人人爽| 男插女青青影院| 人人扣人人操| 欧美真人抽搐一进一出gif| 蜜臀一二三区| 精品无吗久久| 亚洲精品日日夜夜52| 波多野结衣之双飞调教在线播放 | 国产夜夜艹| 久久婷婷综合国际产色怕| 欧美色图综合| 97欧美色| 久久久熟妇熟女国产| www.99视频| 小视频玖玖| 综合久久少妇中文字幕| 少妇蹲下买菜露大唇0| 91色图片| 久久,精品一二三| 夜夜影视四色| 国产精品爱欲| 老熟女网站| 久久精品无码熟妇一区二区三区视频导航 | 久久成人国产| 午夜国产综合视频在线观看| 久久风骚城市| 不卡一区视频| 九九九久千久久激情蜜桃在线看| 九九黄色网| 国产精品探花在线| 亚洲伊人a线观看视频| 国产精品96| 亚洲高潮影院| 欧美激情亚洲情色| 97色涩| 综合激情97 | 蜜桃无码AV一区二区| 亚洲国产ⅴ高清在线观看| 亚洲一区二区在线观看91| 校园春色 亚洲| 国产吹潮女在线观看| 热热热热日日漂亮永久永久国产日| 天美国产三级传媒| 一区二区三区四区色图| 999岛国大片| av日韩手机在线影视| 久久久久久69国产一区二区| 天天干天天舔| 伊人影院日本| 翔田千里AV无码秘 三区| 97在线免费视频观看| 色欧美在线| 国产精品伦理| 四虎影视国产精品| 亚洲天堂久| 91 国产丝袜在线播放-百度| www.男人天堂| 天天插天天操天天摸天天射天天看| 久久久久9999妇女| 久久亚洲人妻| 久久夜精品一区二区三区| 久久综合超碰| 亚洲97p| 亚拍在线| 人妻精品一区一区三区蜜桃91| 蜜臀久久99'精品久久久| 天天情欲宗合网| 精品国产乱码久久久久久日本公司| 色婷五月| 国产日产欧产美韩系列麻豆免费| 午夜无码熟妇丰满人妻| 无码男人天堂| 4虎在线视频| 日韩无码服务区| 加勒比无码毛片| 传媒在线观看一区二区三区| 高颜值美女口爆高潮浪叫| 91色亚洲| 欧美色网| 日韩免费高清大片在线| 人人摸.人人色| 乱伦Av网| 亚卅熟女乱色| 色五月大香蕉| 久久日韩毛| 美女91在线观看| 伊人四虎综合| 老熟乱一区二区三区四区| 男人天堂电影院| 成人午夜高潮av猛片| 免费αⅴ在线观看| 成人黑料社久久| 亚洲欧洲偷拍一区| 欧美美女在线高潮999| 91日产欧美| 国产中文字幕在线观看| 97超碰中文在线| 99老司机精品视频在线观看| 激情啪啪拍91| 欧美亚洲玖玖玖| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | av天堂精品久久| 超碰人人干| 麻豆av一区二区三区| 天天激色| 人妻天堂网| 性爱视频无打码在线观看| 成人在线视频网| 丝袜喷水在线| 热G综合热G中文| 人人操人人干xxx| 中文自拍欧美影视|