亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

Redis 內(nèi)存優(yōu)化與性能調(diào)優(yōu):編碼轉(zhuǎn)換、內(nèi)存碎片與慢查詢的定位鏈路

Redis 內(nèi)存優(yōu)化與性能調(diào)優(yōu):編碼轉(zhuǎn)換、內(nèi)存碎片與慢查詢的定位鏈路 Redis 內(nèi)存優(yōu)化與性能調(diào)優(yōu)編碼轉(zhuǎn)換、內(nèi)存碎片與慢查詢的定位鏈路1. 從一次線上告警說起假設(shè)你維護(hù)一個(gè)訂單系統(tǒng)某天凌晨收到告警Redis 實(shí)例內(nèi)存使用率 92%同時(shí)接口平均響應(yīng)時(shí)間從 8ms 漲到了 60ms。值班同事的第一反應(yīng)通常是下面幾種把maxmemory調(diào)大讓實(shí)例先“撐過去”重啟實(shí)例重置 used_memory懷疑是流量上漲直接擴(kuò)機(jī)器。這些動(dòng)作可能在短時(shí)間內(nèi)讓監(jiān)控恢復(fù)綠線但一兩周后同樣的問題會(huì)再次出現(xiàn)。原因在于它們都跳過了最關(guān)鍵的判斷內(nèi)存到底被誰占用了是真實(shí)業(yè)務(wù)數(shù)據(jù)增長還是編碼方式不合理、碎片率過高、過期 Key 沒被及時(shí)清理慢又是哪一種慢是單條命令本身耗時(shí)還是排隊(duì)、網(wǎng)絡(luò)、主從同步造成的本文不打算把 Redis 調(diào)優(yōu)講成一份參數(shù)清單而是先給出一條可以復(fù)述的定位鏈路。你可以把它理解成一次體檢先看整體內(nèi)存形狀再判斷數(shù)據(jù)結(jié)構(gòu)是否用了低效編碼然后檢查內(nèi)存碎片是否過高最后用慢查詢?nèi)罩炬i定具體命令。整條鏈路串起來才是一個(gè)可復(fù)用的工程方法。為了便于后續(xù)展開先記住一個(gè)最小模型客戶端命令 | v 命令執(zhí)行線程 -- 讀寫 Redis 對(duì)象 -- 編碼可能發(fā)生轉(zhuǎn)換 | | | v | 內(nèi)存分配 / 釋放 | | v v 慢查詢?nèi)罩?-- 耗時(shí)超閾值 內(nèi)存碎片率變化 | | v v 定位具體命令 觸發(fā)淘汰策略2. 先建立整體框架一次寫入會(huì)經(jīng)過哪些環(huán)節(jié)Redis 的內(nèi)存問題很少是單一原因?qū)е碌?。它更像一個(gè)鏈條一次寫入命令進(jìn)入后先執(zhí)行命令邏輯然后決定用哪種內(nèi)部結(jié)構(gòu)保存數(shù)據(jù)隨著元素增多編碼可能從緊湊結(jié)構(gòu)轉(zhuǎn)換為通用結(jié)構(gòu)內(nèi)存占用隨之上升元素刪除或過期后釋放的內(nèi)存不一定能立刻被復(fù)用于是產(chǎn)生碎片當(dāng)內(nèi)存達(dá)到上限淘汰策略開始工作如果某條命令因?yàn)閿?shù)據(jù)量過大而變慢它就會(huì)被 slowlog 記錄下來。把整體拆成四部分更容易理解對(duì)象與編碼層Redis 為了兼顧內(nèi)存和性能對(duì)同一種邏輯類型提供了多種底層編碼例如列表在小數(shù)據(jù)量時(shí)用緊湊列表變大后轉(zhuǎn)為快速鏈表。內(nèi)存分配與回收層內(nèi)存由分配器管理頻繁增刪會(huì)造成碎片碎片率過高會(huì)浪費(fèi)物理內(nèi)存。淘汰與過期層達(dá)到maxmemory后觸發(fā)淘汰過期 Key 通過惰性刪除和定期刪除結(jié)合清理??捎^測(cè)層INFO、MEMORY USAGE、SLOWLOG、LATENCY等命令幫助我們把現(xiàn)象對(duì)應(yīng)到原因。這四個(gè)部分并非獨(dú)立存在。編碼轉(zhuǎn)換會(huì)直接影響內(nèi)存占用和碎片產(chǎn)生碎片率又會(huì)影響淘汰觸發(fā)時(shí)機(jī)而淘汰和過期清理如果執(zhí)行不當(dāng)又可能造成延遲尖刺并進(jìn)入慢查詢?nèi)罩?。理解它們之間的連接比單獨(dú)記住某個(gè)參數(shù)更重要。3. 編碼轉(zhuǎn)換為什么同樣 100 個(gè)元素內(nèi)存差好幾倍3.1 一句話模型可以先把它理解成Redis 對(duì)每種數(shù)據(jù)類型都準(zhǔn)備了兩套甚至多套“收納盒”小數(shù)據(jù)用緊湊盒省內(nèi)存大數(shù)據(jù)用性能盒操作更快。超過閾值時(shí)Redis 自動(dòng)把數(shù)據(jù)從緊湊盒搬到性能盒這個(gè)過程叫編碼轉(zhuǎn)換。3.2 觸發(fā)條件與常見編碼以常見的列表和哈希為例數(shù)據(jù)類型小數(shù)據(jù)編碼大數(shù)據(jù)編碼常見轉(zhuǎn)換觸發(fā)條件Listlistpack早期為 ziplistquicklist元素個(gè)數(shù)或單個(gè)元素長度超過閾值Hashlistpack早期為 ziplisthashtable字段數(shù)或字段值長度超過閾值Setintsethashtable元素非整數(shù)或數(shù)量超閾值ZSetlistpack早期為 ziplistskiplist元素?cái)?shù)或成員長度超閾值閾值由配置項(xiàng)控制例如hash-max-listpack-entries、hash-max-listpack-value、list-max-listpack-size、set-max-intset-entries、zset-max-listpack-entries。不同 Redis 版本默認(rèn)值和名稱略有差異生產(chǎn)環(huán)境必須以當(dāng)前版本redis.conf為準(zhǔn)。3.3 一個(gè)可復(fù)現(xiàn)的實(shí)驗(yàn)下面用redis-cli做一個(gè)最小實(shí)驗(yàn)觀察哈希從緊湊編碼轉(zhuǎn)為通用編碼后內(nèi)存的變化。前置條件是本地或測(cè)試環(huán)境有一個(gè)可執(zhí)行redis-cli的 Redis 實(shí)例版本為 7.x。# 步驟一寫入少量字段查看編碼和內(nèi)存redis-cli DEL demo:hash redis-cli HSET demo:hash f1 v1 f2 v2 redis-cli OBJECT ENCODING demo:hash redis-cli MEMORY USAGE demo:hash# 預(yù)期輸出示例# listpack# (integer) 96# 步驟二寫入大量字段再次查看foriin$(seq1500);doredis-cli HSET demo:hashfield_$ivalue_$i/dev/nulldoneredis-cli OBJECT ENCODING demo:hash redis-cli MEMORY USAGE demo:hash# 預(yù)期輸出示例# hashtable# (integer) 32768關(guān)鍵步驟解釋OBJECT ENCODING用來查看當(dāng)前編碼MEMORY USAGE用來查看單個(gè) Key 占用內(nèi)存。第一次輸出listpack說明數(shù)據(jù)量小、仍然使用緊湊結(jié)構(gòu)第二次輸出hashtable說明已經(jīng)發(fā)生轉(zhuǎn)換。內(nèi)存從幾十字節(jié)漲到幾萬字節(jié)不完全是數(shù)據(jù)本身變多還包括哈希表結(jié)構(gòu)、指針和預(yù)分配帶來的額外開銷。適用場(chǎng)景這個(gè)實(shí)驗(yàn)適合在測(cè)試環(huán)境驗(yàn)證業(yè)務(wù) Key 的編碼是否符合預(yù)期尤其適合字段數(shù)量接近閾值的場(chǎng)景。容易改錯(cuò)的地方是直接用MEMORY USAGE比較不同版本可能得到不同結(jié)果因?yàn)椴蓸臃绞胶桶姹緦?shí)現(xiàn)會(huì)變化另外轉(zhuǎn)換是單向的一旦變成hashtable即使隨后刪掉大部分字段編碼通常也不會(huì)自動(dòng)退回listpack。3.4 設(shè)計(jì)取舍緊湊編碼省內(nèi)存但每次修改都可能涉及整塊內(nèi)存搬移時(shí)間復(fù)雜度更接近 O(N)通用編碼操作快但內(nèi)存開銷大。Redis 用閾值來平衡這兩者。工程上真正要做的是判斷你的業(yè)務(wù)數(shù)據(jù)是否長期停留在“接近閾值但未超過”的位置。如果一個(gè) Hash 有 400 個(gè)字段恰好沒觸發(fā) 500 的默認(rèn)閾值但字段值較長內(nèi)存已經(jīng)不小這時(shí)可以考慮拆分成多個(gè) Key或者顯式調(diào)整閾值并做壓測(cè)。4. 內(nèi)存碎片used_memory 和 RSS 為什么會(huì)差那么多4.1 碎片是怎么產(chǎn)生的內(nèi)存碎片可以理解成一間倉庫里堆滿了大小不一的箱子很多小空隙沒法再放進(jìn)新的大箱子。Redis 也類似不斷創(chuàng)建和刪除不同大小的對(duì)象時(shí)分配器釋放的內(nèi)存塊可能無法被后續(xù)請(qǐng)求復(fù)用于是操作系統(tǒng)看到的進(jìn)程 RSS 遠(yuǎn)大于 Redis 自己統(tǒng)計(jì)的 used_memory。判斷碎片程度主要看兩個(gè)指標(biāo)used_memoryRedis 分配器統(tǒng)計(jì)的已用內(nèi)存used_memory_rss操作系統(tǒng)視角的常駐內(nèi)存碎片率近似為used_memory_rss / used_memory。通常碎片率在 1.0 到 1.5 之間可以接受持續(xù)高于 1.5 且業(yè)務(wù)有明顯增刪波動(dòng)時(shí)就需要關(guān)注。4.2 一次診斷流程示例下面是一個(gè)完整的診斷流程輸入是一臺(tái)內(nèi)存持續(xù)高于預(yù)期的 Redis 實(shí)例步驟是讀取信息、計(jì)算碎片率、查看分配器狀態(tài)結(jié)果用于決定是否開啟主動(dòng)碎片整理。# 步驟一讀取內(nèi)存相關(guān)指標(biāo)redis-cli INFO memory|grep-Eused_memory:|used_memory_rss:|mem_fragmentation_ratio|mem_allocator# 預(yù)期輸出示例# used_memory:2147483648# used_memory_rss:3758096384# mem_fragmentation_ratio:1.75# mem_allocator:jemalloc-5.2.1# 步驟二查看碎片整理是否可用及當(dāng)前狀態(tài)redis-cli CONFIG GET activedefrag redis-cli MEMORY STATS|grep-Efragmentation|allocator# 步驟三評(píng)估后開啟主動(dòng)碎片整理生產(chǎn)需謹(jǐn)慎建議在低峰期驗(yàn)證redis-cli CONFIG SET activedefragyesredis-cli CONFIG SET active-defrag-ignore-bytes 100mb redis-cli CONFIG SET active-defrag-threshold-lower10關(guān)鍵步驟解釋第一步算出碎片率約 1.75說明 RSS 比已用內(nèi)存高出很多第二步確認(rèn)當(dāng)前沒有開啟主動(dòng)碎片整理第三步調(diào)整參數(shù)讓 Redis 在碎片超過一定比例時(shí)后臺(tái)整理。active-defrag-ignore-bytes表示碎片浪費(fèi)低于該值時(shí)忽略active-defrag-threshold-lower表示碎片率超過該百分比才開始整理??捎^察結(jié)果整理期間used_memory_rss會(huì)逐步下降mem_fragmentation_ratio回落。邊界和常見錯(cuò)誤主動(dòng)碎片整理會(huì)消耗 CPU主線程和子線程都可能受影響不建議在高負(fù)載實(shí)例上直接大范圍開啟另外重啟實(shí)例也能消除碎片但會(huì)造成緩存雪崩風(fēng)險(xiǎn)需要配合預(yù)熱方案。4.3 碎片與淘汰的關(guān)系這里最容易誤解的是碎片率高不等于淘汰會(huì)提前觸發(fā)。淘汰判斷基于maxmemory和used_memory而不是 RSS。也就是說碎片可能讓進(jìn)程被操作系統(tǒng) OOM Kill卻不觸發(fā) Redis 自身的淘汰。生產(chǎn)上如果只盯著碎片率卻不看操作系統(tǒng)內(nèi)存會(huì)出現(xiàn)“Redis 自己覺得還有空間系統(tǒng)已經(jīng)把進(jìn)程殺掉”的情況。因此內(nèi)存告警應(yīng)該同時(shí)覆蓋 used_memory、used_memory_rss 和操作系統(tǒng)剩余內(nèi)存。5. 內(nèi)存淘汰達(dá)到上限后誰先被犧牲當(dāng)used_memory超過maxmemoryRedis 會(huì)按照maxmemory-policy的策略淘汰 Key。常見策略如下策略淘汰范圍是否可能淘汰未過期 Key適用場(chǎng)景noeviction不淘汰寫入報(bào)錯(cuò)不淘汰不允許丟數(shù)據(jù)的場(chǎng)景allkeys-lru所有 Key會(huì)純緩存允許按最近使用淘汰allkeys-lfu所有 Key會(huì)熱點(diǎn)差異明顯希望按頻率淘汰volatile-lru設(shè)置了過期時(shí)間的 Key不會(huì)混合存儲(chǔ)僅緩存部分可淘汰volatile-lfu設(shè)置了過期時(shí)間的 Key不會(huì)有過期時(shí)間的緩存熱點(diǎn)明顯allkeys-random所有 Key會(huì)對(duì)淘汰順序不敏感volatile-random設(shè)置了過期時(shí)間的 Key不會(huì)簡單緩存場(chǎng)景volatile-ttl設(shè)置了過期時(shí)間的 Key不會(huì)希望優(yōu)先淘汰快過期的 Key5.1 淘汰不是精確算法LRU 和 LFU 在 Redis 中都是近似實(shí)現(xiàn)。Redis 不會(huì)維護(hù)完整的訪問鏈表而是通過采樣若干個(gè) Key從中選擇淘汰對(duì)象。采樣數(shù)量由maxmemory-samples控制默認(rèn)值通常是 5調(diào)大更接近精確但更耗 CPU。5.2 一次淘汰行為的觀察下面在測(cè)試環(huán)境復(fù)現(xiàn)一次淘汰前置條件是把實(shí)例限制到很小的maxmemory并設(shè)置策略為allkeys-lru。# 步驟一設(shè)置小內(nèi)存和淘汰策略僅測(cè)試環(huán)境redis-cli CONFIG SET maxmemory 20mb redis-cli CONFIG SET maxmemory-policy allkeys-lru# 步驟二持續(xù)寫入直到觸發(fā)淘汰foriin$(seq120000);doredis-cli SETkey:$ivalue-$i/dev/nulldone# 步驟三查看淘汰統(tǒng)計(jì)和內(nèi)存redis-cli INFO stats|grepevicted_keys redis-cli INFO memory|grepused_memory:# 預(yù)期輸出示例# evicted_keys:5421# used_memory:20961480關(guān)鍵步驟解釋evicted_keys持續(xù)增長說明淘汰已經(jīng)發(fā)生used_memory穩(wěn)定在maxmemory附近。適用場(chǎng)景用于驗(yàn)證策略是否生效、觀察淘汰速度。容易改錯(cuò)的地方如果策略設(shè)為volatile-*但 Key 沒有設(shè)置過期時(shí)間那么淘汰集合為空寫入會(huì)直接報(bào) OOM 錯(cuò)誤而不是淘汰數(shù)據(jù)。5.3 淘汰與過期的關(guān)系過期 Key 的清理有兩種方式惰性刪除在訪問時(shí)判斷是否過期定期刪除由后臺(tái)周期性抽樣清理。淘汰則是在內(nèi)存達(dá)到上限時(shí)被動(dòng)觸發(fā)。兩者都可能造成延遲但原因不同。如果大量 Key 設(shè)置了相同的過期時(shí)間會(huì)在同一時(shí)刻集中過期可能引起延遲尖刺更穩(wěn)妥的做法是在過期時(shí)間上加隨機(jī)抖動(dòng)。6. 慢查詢把“變慢”拆成可定位的命令6.1 slowlog 記錄的是什么Redis 的慢查詢?nèi)罩居涗浀氖敲顖?zhí)行本身的耗時(shí)不包括網(wǎng)絡(luò)往返和排隊(duì)時(shí)間。相關(guān)配置有兩個(gè)slowlog-log-slower-than表示超過多少微秒記錄slowlog-max-len表示最多保留多少條。查看命令為SLOWLOG GET、SLOWLOG RESET、SLOWLOG LEN。命令作用注意事項(xiàng)SLOWLOG GET n查看最近 n 條慢查詢返回包含命令參數(shù)注意敏感信息SLOWLOG LEN查看當(dāng)前慢查詢條數(shù)長期增長說明持續(xù)有慢命令SLOWLOG RESET清空慢查詢?nèi)罩九耪锨跋扔涗浽偾蹇誏ATENCY RESET清空延遲事件用于配合延遲監(jiān)控LATENCY HISTORY查看延遲歷史可定位延遲尖刺類型6.2 一次完整的慢查詢定位下面的流程模擬從發(fā)現(xiàn)變慢到定位具體命令輸入是一個(gè)響應(yīng)時(shí)間上漲的實(shí)例步驟是先看慢查詢?cè)俜治雒钌婕暗臄?shù)據(jù)規(guī)模。# 步驟一配置慢查詢閾值例如超過 10ms 記錄10000 微秒redis-cli CONFIG SET slowlog-log-slower-than10000redis-cli CONFIG SET slowlog-max-len256# 步驟二查看慢查詢r(jià)edis-cli SLOWLOG GET5# 預(yù)期輸出示例節(jié)選# 1) 1) (integer) 14# 2) (integer) 1712345678# 3) (integer) 45231# 4) 1) HGETALL# 2) big:hash:order# 5) 127.0.0.1:52341# 6) # 步驟三確認(rèn)該 Key 的規(guī)模和編碼redis-cli HLEN big:hash:order redis-cli OBJECT ENCODING big:hash:order redis-cli MEMORY USAGE big:hash:order# 預(yù)期輸出示例# (integer) 500000# hashtable# (integer) 48234496關(guān)鍵步驟解釋第一條慢查詢顯示HGETALL耗時(shí)約 45msKey 名為big:hash:order第三步確認(rèn)它有 50 萬個(gè)字段、占用約 46MB屬于典型大 Key。HGETALL會(huì)一次性返回所有字段數(shù)據(jù)量大時(shí)不僅慢還會(huì)占用網(wǎng)絡(luò)帶寬和客戶端內(nèi)存。處理方向業(yè)務(wù)上改用HGET按需讀取、HSCAN分批遍歷或者把大 Hash 拆分成多個(gè)小 Key。適用場(chǎng)景所有出現(xiàn)響應(yīng)時(shí)間尖刺的實(shí)例。邊界SLOWLOG不記錄網(wǎng)絡(luò)延遲和執(zhí)行前的排隊(duì)時(shí)間如果慢查詢?nèi)罩緸榭盏涌谌匀宦枰挪檫B接池、網(wǎng)絡(luò)、主從同步或客戶端序列化。6.3 大 Key 的排查代碼下面給出一個(gè)用 Java 客戶端掃描大 Key 的完整示例。前置環(huán)境是 JDK 8 及以上、Maven 項(xiàng)目引入 Jedis 客戶端、本地可連接 Redis。目標(biāo)是按類型抽樣估算 Key 規(guī)模而不是在生產(chǎn)環(huán)境全量遍歷。importredis.clients.jedis.Jedis;importredis.clients.jedis.ScanParams;importredis.clients.jedis.ScanResult;importjava.util.List;publicclassBigKeyScanner{publicstaticvoidmain(String[]args){JedisjedisnewJedis(127.0.0.1,6379);try{StringcursorScanParams.SCAN_POINTER_START;ScanParamsparamsnewScanParams().count(100);longchecked0;longbigKeyCount0;do{ScanResultStringresultjedis.scan(cursor,params);ListStringkeysresult.getResult();for(Stringkey:keys){checked;Stringtypejedis.type(key);longsizeestimateSize(jedis,key,type);if(size10_000){bigKeyCount;System.out.println([BIG KEY] keykey, typetype, sizesize);}}cursorresult.getCursor();}while(!ScanParams.SCAN_POINTER_START.equals(cursor));System.out.println(checkedchecked, bigKeyCountbigKeyCount);}catch(Exceptione){System.err.println(scan failed: e.getMessage());}finally{jedis.close();}}privatestaticlongestimateSize(Jedisjedis,Stringkey,Stringtype){switch(type){casestring:returnjedis.strlen(key);casehash:returnjedis.hlen(key);caselist:returnjedis.llen(key);caseset:returnjedis.scard(key);casezset:returnjedis.zcard(key);default:return0;}}}關(guān)鍵步驟解釋使用SCAN而不是KEYS避免阻塞主線程每次只取 100 個(gè) Key逐個(gè)按類型統(tǒng)計(jì)元素?cái)?shù)量超過 10000 就打印。預(yù)期輸出會(huì)列出大 Key 及其類型和規(guī)模最后打印掃描總數(shù)和大 Key 數(shù)量。適用場(chǎng)景測(cè)試環(huán)境或低峰期對(duì)指定實(shí)例做抽樣檢查。容易改錯(cuò)的地方SCAN只保證遍歷期間存在的元素最終被返回不保證不重復(fù)所以統(tǒng)計(jì)是近似值生產(chǎn)環(huán)境不要用KEYS *替代它。7. 性能調(diào)優(yōu)從參數(shù)到業(yè)務(wù)結(jié)構(gòu)7.1 調(diào)優(yōu)的優(yōu)先級(jí)Redis 性能調(diào)優(yōu)不是先改配置而是先確認(rèn)瓶頸位置??梢园凑障旅娴捻樞蚺袛嗝顚用媸欠翊嬖?O(N) 大命令、大 Key、頻繁全量遍歷連接層面客戶端連接池是否過小或過大是否存在連接泄漏內(nèi)存層面編碼是否合理、碎片是否過高、淘汰是否頻繁持久化層面是否開啟了 AOF 頻繁刷盤或 RDB 頻繁快照部署層面主從、哨兵、Cluster 是否存在跨機(jī)房高延遲或頻繁故障轉(zhuǎn)移。7.2 管道與批量操作如果業(yè)務(wù)需要連續(xù)寫入大量小 Key逐條命令會(huì)產(chǎn)生大量網(wǎng)絡(luò)往返??梢允褂霉艿琅堪l(fā)送但要控制每次批量的大小避免單次響應(yīng)過大。下面是一個(gè)完整示例前置環(huán)境與上一節(jié)相同。importredis.clients.jedis.Jedis;importredis.clients.jedis.Pipeline;publicclassPipelineDemo{publicstaticvoidmain(String[]args){JedisjedisnewJedis(127.0.0.1,6379);try{Pipelinepipelinejedis.pipelined();for(inti0;i1000;i){pipeline.set(batch:key:i,value-i);}pipeline.sync();System.out.println(pipeline done, samplejedis.get(batch:key:999));}catch(Exceptione){System.err.println(pipeline failed: e.getMessage());}finally{jedis.close();}}}關(guān)鍵步驟解釋pipelined()返回管道對(duì)象連續(xù)調(diào)用set只是把命令放入本地緩沖sync()才真正發(fā)送并讀取響應(yīng)。預(yù)期輸出會(huì)打印value-999。適用場(chǎng)景批量寫入、批量刪除等不需要逐條讀取結(jié)果的場(chǎng)景。邊界管道只節(jié)省網(wǎng)絡(luò)往返不減少服務(wù)端命令執(zhí)行成本單次管道過大可能導(dǎo)致客戶端內(nèi)存上漲或服務(wù)端輸出緩沖超限。7.3 用 Lua 減少往返的邊界有些場(chǎng)景需要在服務(wù)端原子執(zhí)行多條命令可以用 Lua 腳本。但腳本本身如果遍歷大集合同樣會(huì)阻塞主線程。下面是一個(gè)簡單示例目標(biāo)是原子地讀取并更新計(jì)數(shù)。importredis.clients.jedis.Jedis;publicclassLuaCounter{privatestaticfinalStringSCRIPTlocal current redis.call(GET, KEYS[1]) if current false then current 0 end current tonumber(current) tonumber(ARGV[1]) redis.call(SET, KEYS[1], current) return current;publicstaticvoidmain(String[]args){JedisjedisnewJedis(127.0.0.1,6379);try{Objectresultjedis.eval(SCRIPT,1,counter:order,5);System.out.println(counterresult);}catch(Exceptione){System.err.println(lua failed: e.getMessage());}finally{jedis.close();}}}關(guān)鍵步驟解釋腳本在服務(wù)端原子執(zhí)行避免客戶端讀取和寫回之間被其他命令插入。預(yù)期輸出為counter5重復(fù)執(zhí)行會(huì)遞增。適用場(chǎng)景計(jì)數(shù)、限流、簡單的原子讀改寫。邊界腳本執(zhí)行時(shí)間過長會(huì)阻塞其他命令lua-time-limit只控制腳本超時(shí)后的行為不會(huì)自動(dòng)殺死腳本不要在腳本里做大范圍遍歷。8. 常見誤區(qū)誤區(qū)一used_memory 低就說明內(nèi)存沒問題。操作系統(tǒng)看的是 RSS碎片過高時(shí)可能被 OOM Kill。誤區(qū)二重啟能解決內(nèi)存問題。重啟只能清空碎片和過期數(shù)據(jù)如果編碼和 Key 結(jié)構(gòu)不合理問題會(huì)很快復(fù)發(fā)還可能造成緩存雪崩。誤區(qū)三設(shè)置 volatile-lru 就一定能淘汰。如果 Key 都沒有過期時(shí)間淘汰集合為空寫入會(huì)報(bào)錯(cuò)。誤區(qū)四slowlog 沒記錄就說明沒有慢查詢。slowlog 只記錄命令執(zhí)行耗時(shí)不覆蓋網(wǎng)絡(luò)、排隊(duì)和客戶端處理。誤區(qū)五編碼轉(zhuǎn)換后刪除元素就能恢復(fù)內(nèi)存。大多數(shù)編碼轉(zhuǎn)換是單向的刪除元素不一定讓編碼退回緊湊結(jié)構(gòu)。誤區(qū)六KEYS 用于排查大 Key。KEYS會(huì)阻塞主線程生產(chǎn)環(huán)境應(yīng)使用SCAN。9. 生產(chǎn)實(shí)踐建議給所有緩存 Key 設(shè)置帶隨機(jī)抖動(dòng)的過期時(shí)間避免集中過期。對(duì) Hash、List、Set、ZSet 的業(yè)務(wù)規(guī)模設(shè)上限接近編碼閾值時(shí)提前拆分或壓測(cè)。監(jiān)控同時(shí)覆蓋 used_memory、used_memory_rss、evicted_keys、expired_keys 和 slowlog 長度。大 Key 和高頻 Key 定期抽檢寫入鏈路中避免一次性返回大集合。主動(dòng)碎片整理只在評(píng)估 CPU 余量后開啟優(yōu)先在低峰期驗(yàn)證。淘汰策略要與業(yè)務(wù)數(shù)據(jù)性質(zhì)匹配純緩存用 allkeys-lru 或 allkeys-lfu混合存儲(chǔ)用 volatile-lru 并確保有過期時(shí)間。10. 排障清單與面試復(fù)盤10.1 排障清單收到 Redis 內(nèi)存或延遲告警 | v 1. INFO memory看 used_memory、used_memory_rss、碎片率 | v 2. INFO stats看 evicted_keys、expired_keys 是否異常增長 | v 3. SLOWLOG GET確認(rèn)是否有慢命令記錄參數(shù)和時(shí)間 | v 4. 對(duì)慢命令涉及的 Key 執(zhí)行 OBJECT ENCODING、MEMORY USAGE、HLEN/LLEN 等 | v 5. 判斷是編碼不合理、大 Key、碎片過高還是淘汰策略不匹配 | v 6. 制定改動(dòng)拆分 Key、調(diào)整閾值、開啟整理、更換淘汰策略或優(yōu)化業(yè)務(wù)訪問 | v 7. 低峰期驗(yàn)證并持續(xù)觀察10.2 面試與復(fù)盤問題為什么小 Hash 用 listpack 而大 Hash 用 hashtable轉(zhuǎn)換后為什么不能自動(dòng)轉(zhuǎn)回used_memory_rss 遠(yuǎn)大于 used_memory 時(shí)可能有哪些原因如何驗(yàn)證allkeys-lru 和 volatile-lru 在 Key 都沒有過期時(shí)間時(shí)分別會(huì)發(fā)生什么slowlog 記錄不到某個(gè)慢請(qǐng)求可能是哪些環(huán)節(jié)造成的大 Key 的常見識(shí)別方式和拆分思路有哪些為什么管道不一定能提升服務(wù)端處理能力11. 總結(jié)回到開頭的告警場(chǎng)景正確的處理順序不是先調(diào)參數(shù)而是先建立定位鏈路用INFO memory看內(nèi)存形狀用OBJECT ENCODING和MEMORY USAGE判斷編碼和大 Key用碎片率判斷內(nèi)存是否被浪費(fèi)用SLOWLOG找到具體慢命令最后再?zèng)Q定是拆分 Key、調(diào)整編碼閾值、開啟碎片整理還是更換淘汰策略?,F(xiàn)象優(yōu)先排查方向典型動(dòng)作內(nèi)存高但 used_memory 不高碎片率檢查 RSS評(píng)估主動(dòng)碎片整理內(nèi)存高且 evicted_keys 增長淘汰策略與數(shù)據(jù)量調(diào)整策略或擴(kuò)容檢查過期時(shí)間延遲尖刺且 slowlog 有記錄大 Key 或 O(N) 命令拆分 Key改用分批命令延遲尖刺但 slowlog 為空網(wǎng)絡(luò)、連接池、持久化檢查客戶端、AOF、RDB、主從延遲編碼從緊湊變?yōu)橥ㄓ脴I(yè)務(wù)數(shù)據(jù)規(guī)??刂圃?cái)?shù)量必要時(shí)拆分把這張表當(dāng)作日常排障的入口比記住一堆參數(shù)更有用。12. 參考資料Redis 官方文檔Memory Optimizationhttps://redis.io/docs/latest/operate/oss_and_stack/management/optimization/memory-optimization/Redis 官方文檔Keyspace 與過期、淘汰策略說明https://redis.io/docs/latest/develop/reference/eviction/Redis 官方文檔SLOWLOG 命令https://redis.io/docs/latest/commands/slowlog/Redis 官方文檔MEMORY USAGE 命令https://redis.io/docs/latest/commands/memory-usage/Redis 官方文檔OBJECT ENCODING 命令https://redis.io/docs/latest/commands/object-encoding/Redis 官方文檔INFO 命令https://redis.io/docs/latest/commands/info/Jedis 項(xiàng)目文檔https://github.com/redis/jedis
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
色综合1991| 麻豆色99999| 青青草吊丝| 高精欧美色| 欧美一区二区三区日韩| 亚州欧美在线| 久久久久久久久久久久欧美日| 国产亚洲精品美女久久久| 一区二区首页| 狠狠操天天干| 毛片久久| 91影库| 性感美女啊啊啊在线| 亚洲最新中文字幕免费| 四虎免费在线播放| 少妇色综合| 3p国产色噜噜一区| 97免费在线观看| 中文字幕 一区二区 亚洲无码| 欧美91精品国产自产| 久久久99久9| 国产 三级自拍| 亚洲天堂AV在线播放| 欧美人人天天网| 99爱久久视频频| 日韩欧美成人午夜福利| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 狠狠搞 亚洲91| 日韩黄片影院| 99热综合| 国产女生在线| 91在线免费精品视频| 99re9这里只有精品| 又大又白奶子| 精品国产www久久| 日日躁夜夜躁狠狠躁超爽| 久久超碰免费的| 国产三级日产三级韩国三级| 精品人妻一区二区三区四区不卡在| yirendaxiangjiashipin| 精品中文字幕第一页| 亚洲欧美97√| 久偷拍欧美日韩三区| 97色色视频| 偷窥自拍A片| 欧美经典一区二区三区| 电家庭影院午夜69久久夜色精品国产69乱| 东北少妇高潮zzzz| 久久久久久性爱免费视频| 超碰偷拍| 午夜福利在线合集| 99黄页网站| 五月天精品| 日韩精品中文字幕二区| yellow网站免费观看日韩高清无码| 成人羞羞视频国产| 2018天天干在线视频| 亚洲日韩美女丝袜美腿人妻视频| 精品成人动漫一区二区| 中国国产精品一区视频| 欧美亚洲日本视频久久久| 青青伊人这里只有精品| 久久久精品国产亚洲AV无码| 91无码中出人妻视频| 啪啪资源网| 欧美一区二区观看在线| 欧美超碰9798| 激情综合网激情五月天| 亚欧毛片基地国产毛片基地| 国产亚洲精品无码三区| 亚洲精品免费中文字幕| 久久久久成人亚洲国产| 色老汉玖玖爱| 日日干日日| 无码欧美有限公司| 亚洲视频二区| 97超碰大| 日韩综合成人免费视频| 免费毛片在线播放| 美女91在线观看| 蜜臀av中字字幕网站| 99精品网站| 久久久九九| 十八禁啪啪视频| AA特级绝黄| 日韩丝袜二区| 91精品丝袜久久久久久无码人妻| 欧色网址| 国产精品视频白浆免费| 色女99一级片在线观看| 33044男人的天堂深夜备| 玖玖综合网| 啊啊啊操死我| 中国一级操逼视频| 蜜桃视频精品一区二区| 青青草一本道福利视频| 亚欧成人综合影院| 日韩国产品视频中文字| 色噜噜人妻丝袜AV资源| 国产激情在线| 日韩一区二区三区四区五区| 91丝袜美女| 色777999综合| 国产熟女完整版中字| 殴美牲| 美女高潮视频91| 色婷婷一区二区三区久久午夜成人不| AV天堂国产| 亚欧性爱无码| 色九月综合| 欧美97超碰| 爱我干综合| 顶级少妇BT天堂| 亚洲男人天堂网站| 久久久久久大| 91N欧美| 97人人色| 一区在线精品中文字幕| 色蜜AV| 欧美一区二区| 欧美在线色图| a级免费在线观看| 嗯啊不要在线观看嗯啊| 欧美裸体美女日麻屄| 狠狠色综合网| 亚洲精品白丝| 欧美成人黄网色网站| 麻豆a'v电影| 日本欧美一区二区三区视频麻豆| 东北女人被操| 操逼片国产| 亚洲无限观看| 午夜福利免费福利视频| 91热情品| 一本久道在线综合视频| 色偷偷男人的天堂麻豆| 操逼视频免费日韩无码| 超碰在线1234区| 亚洲精品亚洲人成在线麻豆| 9久9久| 再深点灬舒服灬太大了好硬好爽| 亚洲中文字幕在现观看| 好舒服视频| a天堂视频| 九九九九97| 国产成人超碰在线| 成人情色一区二区| 久久亚洲中文字幕视频| 中文一区二区| 午夜精品探花| 五十路三区在线| 亚洲精品欧美专业| A 天堂在线观看视频| 怡春院久久| 97国产精品国| 亚洲国产欧美中文永久| 亚洲天天在线| 二三四区精品| 色婷婷狠狠| 91在线国产后入风骚翘臀美女素人| 去干网最新版| 极品欧美一区二区三区| 久久有码视频| 丁香五月激情五月| 国产高清无码一区三区二区| 成人草草视频| 亚洲免费日韩在线一区二区| 日韩特级毛片免费观看全集| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 日韩一区二区精彩视频| 色777999综合| 久草视频制服诱惑| 欧美日韩999| a级理论午夜日本| 精品无码久久| 亚洲欧美91√| 自拍欧美| 精品精品精品| 日本三级韩三级99久久| 日韩免费三级黄片电影| 免费视频观看60秒| av在线人气| 久久‘黄片视频| 精品国模无码| 男人综合网| 蜜桃色色网站视频三区| 最新的亚洲无吗| 97超碰中文在线| 久操影视| 久久久久密臀一区二区| 极品色www影院| 強姦亂倫a| 欧美97色| 欧美 日韩第一性色| 久久久久9久久久久| 免费一级毛片在线视频观看| 国产精品视频麻豆入口| 日韩成年人性爱视频| 男人的天堂三级| 日韩人妻精品中文字幕| 久久露脸国产老熟女| 四虎午夜影院| 97精品国产| 久久做97| av操操不卡| 精品区9| 色婷婷五月综合激情中文字幕| 超碰精品国产无码| 欧美人体性爱互联网第一页婷婷日本| 九九九久久久W精品| 91 国产丝袜在线播放-百度| 日本精品九九九| 熟妇高潮精品一区二区三区下载| 亚洲91色在线| 中国熟女91| 九九av| 四虎影视永久在线观看精品免费网站| 亚州 综合 色图| 韩国一级婬片A片AAAAA| 色噜噜狠狠色综合日日| 婷婷久久综合久| 综合色色网| 超碰在线人妻| 麻豆天美国美国产| 色哟哟-国产专区| 69综合网| 久久老熟女| 久肏视频字幕| 91欧美综合| 成人精品在线免费视频| 欧美一级美片在线观看免费| 东京热男人的天堂精品| ′ !γ}丶。。久久精品欧美一区二区三区| 无码高清国产AV| 一个国产在线综合网站| 91丨九色丨大屁股| 玖玖视频在线资源一区二区三区| 成人综合网 欧美| 久久久久久久久九九久孕交| 九久9精品| 亚洲啪啪综合?v一区综合精品区| 日本一区视频在线观看| 精品一区二区成人动漫| 久久午夜伦| 99999精品成人| 国产AV人人夜夜澡人人爽麻豆| 99色热| 午夜啪| 亚洲精品乱码线路中文字幕| 国产精品欧美激在线| 97国产色图| 91综合天天看| 国产乱伦亚洲| 丁香五月天视频| 欧美天天谢综合网| 偷拍亚洲情色| 精品美女久久久久| 久精品无码av一区二免费国产在线观看| 人妻激情偷乱视频一区二区三区| AV中文字幕剧情1区2区3| 四虎免费在线观看| 亚州色国| 99色婷婷| 亚洲国产精品久久久男人的天堂| 久啪视频| 激情网色| 春色校园综合网| 国产精品97超碰| 日本淫乱女一区二区三区视频| 人人操人人操人人操人人操人人操人人人11.CM | 人妻欧美| 被体育老师抱着c到高潮| 亚洲熟女国产综合另类| 91美女精品| 国产精品 久久久精品一牛| 天美麻花大全视频| 人人九九精| 亚洲国产成人精品999| 99色天堂| 男人天堂网手机版婷婷| 久久九九国产精品| 国产精品午夜福利视频| 欧美黄片免费在线观看视频| 欧美页片| 乱伦日本中文自拍| 亚洲 中文 女同| 成人小电影网站tex| 日韩卡一卡二卡三在线| 亚洲人综合| 精品国产一区二区三区香蕉欧美| 天堂资源欧美| 思思视频免费看网站| 大香樵伊人网| 欧美超碰97| 久久婷婷热| 素人伊尹大香蕉免费下载视频| 中文字幕精品一区欧美| 麻豆一区在线| 久操凹凸视频| 92性色国产午夜福利在线661| 日韩中文字幕二区| 亚洲av资源| 五月天婷婷综合| 欧美色图亚洲色,麻豆| 女人 A一级| 亚州综合AⅤ| 蜜乳AV.COM| 九草在线大香蕉| 天天懆天天日| 九九超碰综合网| 丁香五月天堂| 97超碰人人模人人拍人人| 资源在线观一 二| 97这里有精品| 欧美九九99久久精品| 久久精品国产亚洲5555| 麻豆 亚洲 97| 精品国产精品一区二区| 97在线免费看视频| 欧美爆操91| 1级午夜影院费免区| 久久久久元码视频| 我爱大香蕉| 东京热男人天堂| 欧美熟女激情| 精品一区二区综合熟妇| 中文久久久| 精品一久久久| www.人人cao| 久久精品无码专区| 国产人伦精品一区二区三区| 婷婷在线视频在线观看| 天天躁夜夜躁狠狠躁AV| 男人的天堂2010| 岛国免费视频在线| 欧美九九九九九| 久久本道| 一个人免费HD91视频| 天天干18禁| 亚洲三级网址久久最新| 动漫爆乳3D奶水一区在线观看 | 亚洲精品影视老司机| 精品久久久一本一道| 日韩熟妇二区| 亚洲一区二区中文字幕| 亚洲欧美一区二区网址| 情色大香蕉| 特级大荫道BBwBBwBBW| 国产亚洲美日韩Aⅴ中文字幕无码成人| 天天干1区2区在线| 97久久超碰国产网站| 人妻激情偷乱视三区频一区二区| 秋霞男人网| 国产美女高潮叫床视频| 日B操| 国产精品伦理| 啊啊啊啊啊啊啊啊啊啊在线观看| 欧州色图区| 亚洲第一无码播放立川理惠| 内射小黄片| 亚洲天天更新| 精品对白久久不卡| 亚洲精品乱码久久久久久蜜桃麻豆 | 97 亚洲 日韩 欧美 在线| 欧美亚洲日本视频久久久| 亚洲国产综合视频| 青娱乐黄色录像| 锕锕好爽 死我在线观看| 另类亚洲图色| 一区黄二区黄| 日本超碰在线国产一区| 亚洲av乱伦色图网站| 激情网色| 久久首页| 精品午夜福利国产一区二区在线观看| 成人性爱免费播放| 中文字幕人妻资源在线| 精品人妻一区二区三区在| 久久久久深夜无码| 狠狠爱夜夜干| 日韩无码服务区| 欧美日韩青操| 欧美日韩人妻婷婷一区| 激情四射五月天| 夜夜人妻爽| 啊啊啊快操我视频| 丰满人妻一区| 久污| 亚洲人妻久久久| 夜夜操中文字幕| 91强在线播放| 国偷自 一区二区| 在线 欧美 亚洲| 懂色av中文字幕| 热久久无毒不卡| 懂色av中文字幕一区二区三区天美| 男生女生啊啊啊啊| 狠色婷婷久久一区二区三区_| 久久久久久久久久黄色网| 欧美最婬乱婬爆婬性视频| 丰满少妇一区二区三区四区观看| 久久 亚洲 日韩 人妻| 神马久久中文字幕| 亚州男人的天堂| 女上位精品在线| 天天摸天天操视频| 天天躁日日躁狠狠躁| 久久午夜鲁丝片| 久久国产免费激情视频| 亚洲超碰AV| 国模精品娜娜一二三区| 美女人妻色网站| 超碰1024久久| 狠狠干2020| 欧美黄业| 在线国产福利网址导航| 涩五月婷婷| av婷婷色网| 人妻在线大香蕉| 人人操人人精品影片| 色吧91| 天天摸夜夜添无码小视频| 天天视频黄网站| 激情综合 婷婷五月 红杏| 中文久久久| 亚洲成人性爱网站在线播放| 色99在线| 天堂亚洲精品久久老牛| 啊啊啊啊操死我| 国产精品免费日韩| 亚洲熟妇丝袜在线观看| 99最新日韩偷拍视频| 亚州综合网| 黄色av一区二区在线| 男人天堂站| 青草视频人妻在线观看| 国产日韩精品suv| 亚洲精品乱码久久久久久蜜桃麻豆| 天天操天天射青青草| 天堂综合| 色综合V| 九九热在线视频| 老熟妇一区二区三区啪啪| 天天插网| 天天干天天做| 亚洲在线A| 国产一级137片内射麻豆| 欧美亚州手机在线| 老熟女阿 国产91| 国产特级毛片AAAAAA高潮流水 | 久久鲁夜| 亚洲另类天堂| 日日夜夜干| 天天综合网合集91| 亚洲综合另类小说色区亚洲成av人片在www | 91热爆在线| 久污| 丰满人妻无码一区二区三区| 久久色一区二区| 日本色色色网站免费看不卡| 一二三四免费视频| 亚洲色阁| 亚洲 日韩 欧美 国产综合体| 色偷偷男人的天堂麻豆| 亚洲日韩精品一区视频在线| 超碰综合色| 国产精品久久久久久久久久梁医生| 欧美亚洲综合色| 久久日韩肥臀| 色欧美天天| 2017天天插| 床上啊啊啊一区二区三区| 清纯唯美第一页| 久久精品国产免费观看99| 91网站在线播放| 久久免费精品视频免一| 骚货操死你| 久久久无码国精品无码三区三区| 久久99九九九九6666免费观看软件| 国内精品久久久久影院亚洲| 夜夜嗨一区二区三区直播内容| 丁香五月性爱| 欧美色网| 啊操爽品善一区二区三区| 欧美色图成人网一区二区| 黄色大片免费在线| 天天热精品| 欧美在线观看综合国产| 精品国产乱码久久久久久网站入口| 一二三四日本视频高清| 日本黄大片在线观看视频| 日韩9999| 一区二区三区激情在线观看| 天美传媒婬乱在| 欧美激情视频一区二区三区不卡| 涩综合导航| 伊人亚洲综合| 久热这里| 精品国产av一区二区三区四区入口| 欧美性天天影视| 国产精品久久久久久高清无码免费看| 欧美黑人168页欧美黑人167| 成人AV在线电影| 视频国产欧美在线播放| 天天内射| 色婷婷网| 日本性爱欧美性爱| 欧美色蜜桃97| 欧美中字二区| 色色色色色色色色色色色色色色综合| 97在线免费视频| 插入粉嫩少妇视频| 国产白领连续中出在线观看| 亚洲自拍天堂| 色噜噜狠狠色综无码久久合欧美| 韩日精品福利视频一区不卡在线免| 免费看黄视频亚洲网站| 中文字幕精品码亚洲| 欧美久久久15P| 亚洲日韩美女中文字幕乱| 啊v在线观看视频| 99九九久久| 99天堂网| 午夜无码精品免费看性色| 老司机香蕉| 欧美日韩一干二干| 2018天天干在线视频| 亚洲第一页综合在线| 97色97好| 中文字幕 码 自拍 视频 区| 日韩无码黄色片| 91激情| 中文字幕伊人| 欧美性暴力猛交XXXX| 97色色色| 黄色欧美性爱视频| 艹精品| 99夜夜操| 国产97在线播放| 嗯嗯啊啊视频一区二区三区| 五月婷婷激情| 一块操欧美性爱| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 三级网站超变态精品| 操逼操操操91| 国产午夜激片Av毛片不卡| 色网色网色网色网色网色| 人人妻人人色一区二区三区| 偷拍五区| 97在线青| 福利一级版子| 中亚黄色三级大片 | 可以免费看黄片的视频| 国产久久久久久| 久草老司机| 日本九九久久99| 99e久久国产精品| 男人天堂资源| 亚欧成人一级片在线播放| 997色在线| 天天性射网| 屁股久久久久久久久| 国产亚洲色婷婷99精品91| 国产精品视频播放| 自拍视频大全亚洲专媒视频/一区二区三区 | 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | www.操| 天天综合亚在线| 亚洲欲色9532548967一区| 天天插天天操| 伊人亚洲国产一成人久久精品,久久| 另类小说五月天| 91超级碰碰碰| 亚洲中文字幕妇伦久久| 东北女人| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 99成人| 一区二区激情国产熟女| 天天干天天干天天| 91扒丝袜综合在线| 大香蕉综合久久| 久久久久亚洲一区女同性恋中文字幕| 亚洲黄a三级三级三级看三级| 亚洲综合大片| 精品成人久久久人人亚洲| 亚洲情色视频| 九九综合久久中文字幕| 凹凸久久人人| 久久久人妻| 好吊色一区| 小骚逼被操的爽不爽| 亚洲精品97久久中文字幕| 女生91网站| 五月丁香黄色网| 黄色一区二区秘书性感| 激情综合五月| 麻豆久久久久久久久丝袜| 是还免费视频1727我| 精品美女少妇一区二区| 日韩欧美性爱电影在线观看| 美女极品一区二区三区| 日本免费一级AAA大片器 | 啊啊啊啊啊啊啊网址在线观看| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 青青草男人天堂| 玖玖爱综合网| 欧美Ⅴ性爱| 操逼视频免费日韩无码| 国产原创精品| 深爱伊人影院| 国产在线强奸视频| 五月婷丁香| 91高潮喷水美女| 亚洲国产精品无码AV久久| 一级毛片久久久久久久女人18| 国产精品青草综合久久| 1二区9| 色九久| 秋霞一级视频在线观看免费| 中文字幕乱碼在线| 9久9久| 2019天天干天天操| 丁香五月激情啪啪| 舔舔啊| 狠狠操官网| 婷婷五月天成人| rivers-china.com| 中文字幕aⅴ在线视频| 欧美亚洲国内自拍| 久久精品国产亚洲粉嫩| 日本护士高潮| 免费看污网址| 超碰色男人操熟女| 日本高清视频xxxx| 久操九九九九| 天天干18禁| 丁香九月激情啪| 亚洲青色欧美| 密乳AV免费观看| 美女淫穴| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 久操av在线| 操逼操逼逼操操逼91 | 麻豆乱码久久精| 超碰97综合在线| 国产精品免费视频人成| 超碰久久综合| 三级网色| 国产精品一区二区麻豆| 色综合网1| 久九9精品| 一本一道vs波多野结衣| 久久久内射良家| 一本久道在线综合视频| AV丝袜东京热| 亚洲超碰AV| 狠狠干妹子| 色婷婷五月综合激情中文字幕| 熟妇无码视频三区| 国产人妻天天干精品| 福利天天都操| 色色国产| 9999久久久| 日本日日色视频| 欧美一级特黄淫片在线观看| 好舒服视频| 狠狠激情综合狠狠操中文字幕| 人人操人人精品影片| 超碰成人公开| 成年人免费观看网站| 伊人婷婷五月天| 欧美翘臀视频网站一区二区三区| 婷婷综合视频| 欧美成年人性爱视频免费观看| 精品人妻视频一区二区三区蜜桃视频| 一级岛国大片| 国产精品大屁股999| 欧美亚洲日韩人妻在线观看| 啊啊啊啊啊啊啊啊视频| 成人日韩中文字幕| 亚洲精品第一| 久久久久久久| 超碰综合色| 五月丁香六月婷综合成人综合 | 99色综合| 国产日韩区| 日本 情色 1区2区3区| 91精品久久久久久综合五月天| 最新制服中文第一页| 美女97超碰| 亚洲人妻在线一区| 日韩一级二级三级| 青青草字幕AV| 亚洲啪啪性视频| 久久双插| 91精品丝袜久久久久久| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 欧苏综合色综合| 欧美日韩啪啪电影| 婷婷激情丁香| 久久久爆乳翘臀一线天伦理视频| 十八禁视频一区二区| 全国男人天堂网| 素人播放一区| 国产亚洲精品美女久久久久久2021| 国产欧美成人第一页在线观看 | 中文字幕一区电影在线观看| 国产精品一区二区在钱播放| 亚洲综合校园春色| 97超碰精品| 六十路日本| 国产九九久久久精品| 操操吧亚洲乱伦视频| 香蕉精品二区二区| 五月丁香综合网| 91伊人久久在线| 东京热一区二区中文字幕| 亚av顶级裸体一区二区三区四区五区| 日本护士高潮| 波多野结衣先锋影音| 大香蕉一级黄色片久久| 99精品无码| 1204金沙人妻懂旧版免费| 欧美日韩高潮喷水91| 欧美成人性爱视频大全| 国产精品色色| 日本国产欧美高清在线| 中文字幕一二区二三区人妻专区| 欧美综合1性辶| 美国三级日本三级久久99| 国产AV天美| 伊人影院中文字幕| 人妻少妇久久久| 性爱av在线免费观看| 免费观看性欧美一级| 91精品人妻偷情| 午夜操一操| 精品欧美乱码久| 99精品九九九九九九| 激情文学亚洲| 日韩图区| 日本欧美m v精品网站加| 一区二区不卡| 欧美色图 人妻| 日韩午夜国产| 亚洲欧洲无码一区夜| 啊好爽快点-国产一区二区三区撒尿在线-成人AV | 久久久96| 亚洲男人的天堂va亚洲男人社| 亚州欧美在线| 97在线免费视频观看| 亚洲美女精品九九视频| 91亚洲最新在线| 天天躁日日躁狠狠狠躁| 1024精品在线| 亚洲男人天堂手机版| 日本久久超碰| 91AV入口| 操碰97| 日本国产亚洲一区在线观看| 久久黄片国产一区二区| 少妇无码av专区线| 啪啪AV导航| 手机看片1025| 你操综合| 桃色六月天| 青青草狠狠撸| 东京热,男人的天堂| 超碰98综合网| 天天影视网色欲色香| 99精品九九九九九九| 日本操逼无码| 久久性生大片免费观看性| 福利视频香蕉免费一区二区在线| 嫩草美女久久| 91碰超| 狠狠色综合网| 91N五十路| 欧美与日韩97| 狠狠97| 精品视频一区二区| 日日操丁香五月天| 尤物国产一区在线观看| 少妇高潮99p| 亚洲资源网| 成人AV在线网站| 国产精品不卡av免费在线观看| 99re公开精品免费视频| 九九热最新| 欧美九九99久久精品| 蜜臀久久99'精品久久久| 91人妻人人澡人人爽人人精品| 欧美一级在线观看成人| 欧美丝袜制服久久| 婷婷成人久久久精品| 久久夜精品一区二区三区| 久伊人网78| 一二三四视频中文字幕在线看| 天天天天天干夜夜夜夜夜操| 久久发布国产伦子伦精品| 国产精品高朝久久久久久久| 91夜色| 乱伦一二三| 成人看片网站| 青青草日韩免费观看高清在线| 中文字幕在线观看网址| 日韩丰满熟妇| 日日夜夜青青草母狗| 亚洲天堂男| 在线A日本| 刺激性视频黄页| 色色97爱| 蜜桃无码AV一区二区| 中文字幕55555| 九九热九九| 丁香六月婷| 国产精品 午夜福利| 另类小说欧美激情校园春色| 国产区91柔拿会所技师| 操婢日韩| 女优免费一区二区永久| 亚洲 欧美 日本 国内 首页| 亚洲无码?第一页| 五月丁香综合| 久久人妻一区二区三区高清| 国产日韩精品人妻久久久久色欲网站 | 日本三级韩三级99久久| 精品成人女人久久| 国产又黄又粗的视频| 欧美精品四区| 欧美国产婷婷久久| 婷色五月| 午夜视频久久久| 囯产乱伦一区二区三女 | 欧 美 自 拍 偷 拍| 夜夜中出国产| TS人妖另类精品视频系列| 嗯啊不要在线| 熟女少妇视频| 色色色综合网| 亚洲欧美天堂| 久极品在线观看| 94色色电影网| 校园春色综合| 国产精品美女久久久久久网站| 麻豆精品久久久久久久| 丝袜亚洲综合| 91九色丨国产丨爆乳| 亚洲国产精品成人综合| 久久久婷婷| 久久久久久久久久久免费精品| 青青操少妇| 18禁精品网站在线看| 色妇91| 国产超碰人人爽人人做| 91 亚欧| 日本超碰在线国产一区| 玖玖大干人妻| 91国产精品在线看| 国产无码三级视频在线观看| 老熟妇综合| 精品欧美А∨无码黑人大荫蒂| 九九九精品一区二区无码| 国产九九九九九九九九| 亚洲欧美洲综合| av天天在线观看| 成人av福利在线观看| 99re6国产精品99re| 婷婷五月av| 欧美劲爆第一页| 91色图片| 亚洲中文字母在线播放| 夜夜爽夜夜操| 91丝袜美女| 东亚亚洲无码高清| 天天肏天天干| 中 文字幕一区二区三四 五 区日 日 骚 | 天堂无码精品国产久| 国产后入式在线观看| 婷婷丁香六月| 国产av波波国产精品| 国产麻豆91欧美一区二区久久婷婷国产精品 | 精品一区二区啪啪啪| 91在线秘 男同| 岛国天天午夜影院传媒网| 日韩三级一区| 18禁网站在线播放| 欧美第二页| 我爱搞逼综合网| 欧美躁死她一区二区| 国产亚洲女v在线观看| 青娱乐黄色录像| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 丰满人妻区一区二区三| 久久超碰免费的| www99热| 日韩色| 日韩电影在线观看网址| 啊啊啊啊啊啊啊啊要喷了| 美女黄页| www狠狠| 约操熟妇| 亚洲丝袜诱惑| 老熟乱一区二区三区四区| 久久超碰98| 尤物av网站| 亚洲精品久久久久久久蜜桃臀| 人人看人人插| 久久久人妻| 日韩AV噜噜噜一区二区三区四区| 极品粉嫩一区二区| 性站| 三级三级三级日本99| 国产精品午夜高潮呻吟久久av| 婷婷久久五月综合激情| 欧美图片校园春色| 国产熟女精品区| 一级A啪啪啪啪| 人妻少妇被猛烈进入中| 无码直播久久久| 97碰| 久久春色| 一区二区三区一亚洲中文字幕、综合区灬 | 97人人射| 91日韩在线| 成年人一级黄色毛片大全在线观看| 亚洲精品久久久久毛片A片拉屎| 人妻丰满熟妇av无码区蜜桃| 91精品少妇搡搡搡| 国产成人啪一区二区| 日韩精品99久久久久久中文字幕 | 亚洲影视第一页| 色情婷婷久久五月天| 欧美精品久久| 骚人妻少妇视频| 九九成人精品| 久久999久| 亚洲诱惑| 日韩精品电影| 99日免费视频中文字幕| 国产青青美女玩逼视频| 亚洲精品1区| 天天草AV| 亚洲素人综合| 日本国产二线女色| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 熟妇高潮一区二区免费视频| 色播五月丁香| 青青操青娱乐| 蜜桃久久久久久久| 色爱综合网欧美| 欧美丝袜激情| 青草视频人妻在线观看| 91网站18+| 一本久久久精品| 99久在线精品99re8蜜桃| 97久久国产| 超碰97人妻免费在线| 欧美午夜视频免费观看| 三级AV入口| 国产亚州高清国产拍精| www99热| 人人妻人人操人人乐| 久九九九九九九热| 91爱看| 亚洲综合有码| 亚洲无992tv| 91人妻最真实刺激绿帽| 99色热国产视频精品| 97最新在线播放视频| 91狠| 中文字幕精品久久久久人妻红杏ⅰ| 九九热精彩视频| 九九九成人| 国产精品不卡一区二区三区av| 午夜AV人气不卡| 91一起操| 九九精品美女高溯喷水| 偷拍综合亚洲| 色欧洲| 青娱乐国产精品| 亚州免费啪啪视频| 国产这里只有精品| 老汉网| 九九热精品| 国产强奸91| 丁香五月激情综合国产| 欧美最婬乱婬爆婬性视频 | 久9精品| 一级二级三级黑人无码| 免费一级视频特黄色大片| 骚逼高潮久久精品| 亚拍在线| a片久久久久久久久久久久| 久久久久久久国产a∨| 另类综合另类| 亚洲综合一| 一区AV| 五月综合色| 91超碰在线播放| 日韩一级久久毛片| 亚洲女毛多水多21P| 天美一二三在线观看Av| 91丰满| 久久久久成人亚洲国产| 色婷婷网| 久久国产999| AV天堂国产| 啊啊啊 在线观看| 日韩电影中文字幕| 国产多人在线观看视频| 中亚精品极乱| av天堂加勒比| japan日本高清乱xxxx| 欧美一二三区四五区| 婷婷20月天青娱乐| 婷婷丁香五月天亚洲天堂网| 老熟女熟妇| 久久久96| AV污污污污| 玖玖资源中文字幕制服丝袜| 欧美色综合| 人妻少妇精品一区二区三区| 亚洲日韩97| 26uuu性| 天天看片麻豆| 亚洲欧洲无码bt精品合集| 色av中文字| 色综91| 亚洲免费人妻在| av草草在线电影| 操逼操网| AV在线播放网址| 黄色欧美性爱视频| 久草男人天堂| 一本大道不卡一二三区| 中文字幕十五区| 欧美亚洲国产91在线| 射 色综合| 91高潮| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 美女露胸露屁股| 男人天堂欧美| 日日操免费视频| 91亚洲影院综合| 翔田千里一区二区三区奶水| 精品一久久久| 萌白酱自拍视频| 人妻在线大香蕉| 久久九九视频九九视频| 呻吟 欧美 日本 中出| 国产CHASE男男GAYGA 毛多色婷婷| 青青草国产一区二区三区| 日本激情免费大片| 超碰在线综合97| 九九RE视频在线精品| 97网色| 日韩欧美成人大香蕉| 蜜臀在线视频| 啊啊啊啊啊在线视频| 亚洲AV无码AV吞精久久久久| 久久久久久九九九九九九| 91超级碰碰| 亚洲影视高清三级-草1024榴社区入口-品爱AV| 日本在线激情一区二区三区| 啊啊啊啊好疼| 欧美成不卡网| 国产精品久久久久久久毛片1| 啊嗯好大视频在线观看| 操操逼视频| 91天天美女| 久久国色天香香蕉| 国产精品嫩草影院免费| 欧美日韩亚洲少妇寂寞影院正在播放 | 啊a一区在线| 国产欧美精选自拍一区| 丝袜综合| 久操精品网| 日本αv| 久久亚州大香蕉| 中文字暮97| 91社区拍啪人妻| 国产美女91| 综合 青草 伊久久 影院 综合| 东亚亚洲无码高清| 91色狼| 欧美 亚洲 偷拍自拍| 97超碰9| 综合97亚洲| 亚洲一区深夜| 亚洲成人日韩小说| 97国产超碰| 大香蕉 222| 国产精品久久久鸭无码的功能| 看日韩黄片| 久久伊人东京热| 牛牛久久国产精品视频一二三| 麻豆一区在线| 乱子伦一区二区三区国产精品| 中文字幕永久在线| 精品欧美А∨无码黑人大荫蒂| 中国少妇啪啪视频| 性生活无遮挡纯毛片在线看| 国产精品青草综合久久| 国产极品精品美女视频| 天堂性色| 尤物视频偷拍免费| 中国黑人三级片网站上区| 日本爽爽爽爽爽爽免费视频| 91模特在线观看| 国产精品天干天干综合网麻豆 | 真实高潮91| 中文字幕 国产区| 岛国免费黄色网址| 精品无码久久久久久久久果冻糖心| 国产热av| 91五月天| 台湾佬激情综合| 91操操| 亚洲 欧美日韩 另类| 免费一级黄色录像影片| 欧美国产精品久久九九| 最新制服中文第一页| 欧美在线啊啊啊 | 大逼色网站| 久久久艹艹艹| 婷婷色综合| 九久9精品| 偷窥自拍亚洲天堂网爆| 日韩视频啪啪| 日本精品无码三级网站| 欧美日韩狠狠爱| 东北女人性交| 欧洲色综合| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 夜夜福利| 刺激精品视频| 色av中文字| 日本久操视频| 97超碰jingpin| 日韩三级久久久| 长长久久免费视频| 激情综合五月婷婷| 妺妺跟我一起洗澡没忍住| 在线v中文字幕一区二区三区| 日本性爱网址| 激情干在线| 操逼网站视频漫画国产| 欧日a| 日本女优在线视频福利| 亚洲色图日韩精品| 人妻aa| 蜜乳av首页| 色综合色色| 亚洲日韩AV视色| 床上啊啊啊一区二区三区| 亚洲国产欧美日韩人妻日中文| 99久久无色码| 国产丰满熟夫69mpp| 农村妇女精品一区二区|