精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

.NET分布式緩存之Memcached執(zhí)行速度檢測

開發(fā) 后端 分布式
為了解決緩存同步的問題,有人想出了解決辦法。本文介紹了.NET分布式緩存Memcached的執(zhí)行速度,結(jié)論是從總體速度上來看Memcached并不慢,而且可使用的內(nèi)存數(shù)量要多得多。

前不久,俺寫了篇文章談到了.Net下面的分布式緩存的一些問題,并結(jié)合DNT里面實現(xiàn)模式發(fā)表了一些自己的看法,近來通過學(xué)習(xí)相關(guān)的東西又有了一些新的體會, 寫在這里作為分布式緩存列系文章的第二部分.

其實對于性的擴展無非是Scale Up(向上擴展)或者是Scale Out(向外擴展), 微軟對此的看法是一個App的緩存***是以它自己為物理邊界進(jìn)行讀寫,而不要放到別處去,這樣帶的問題可能有對象的序列化傳送,反序列化,網(wǎng)絡(luò)連接開銷,跨進(jìn)程的開銷,對于高性能的站點來說都是不能忽視的問題.出于對這些因素的考慮微推薦的作法不是把多個應(yīng)用放在一起在多臺Server布署,而是將一個App劃分成若干個小的應(yīng)用布署到不同的服務(wù)器,下面的關(guān)系圖展示了這種關(guān)系, 這樣每種應(yīng)用就可以獨立管理自己的緩存數(shù)據(jù),但是對于象用戶數(shù)據(jù)這樣的通用數(shù)據(jù)仍然會存在多處.

.NET分布式緩存:兩種解決方案

為了解決緩存同步的問題,有人想出了解決辦法, 可以參考這兩個地方,這個是MS的,這里還有一個,先來看看Peter的這個吧, 主要思想就是把要放到緩存里面的東西加上一層包裝CacheControlItem, 實現(xiàn)代碼請去原文出處下載.

每臺機器都維護(hù)一個WebFarm里面的成員服務(wù)器的列表,如果有新的服務(wù)器進(jìn)來發(fā)現(xiàn)自己不在這個列表中則會通知其它的服務(wù)器把它加到這個名單里面。添加緩存的這程是這樣, A服務(wù)器需要插入一個新的緩存值,它把這個項目插入到自己的緩存中,然后用它初始化一個CacheControlItem并指定它的緩存策略(優(yōu)先級,緩存生存時間),設(shè)定它的動作,即添加,然后把這個結(jié)象序列化通過Web傳送到每一個成員服務(wù)器,接受到這些數(shù)據(jù)的服務(wù)器跟據(jù)這個對象的Action指令,把反序列化后的對象加入到自己的緩存里面,這樣一個同步的過程就完成了,移除緩存對象的過程與之類似,只不過不需要傳送對象,只在包裝類里面設(shè)定它的Action為刪除就可以了. 當(dāng)然,為了提高性能,可以實現(xiàn)一個異步的偵聽線程專門用來響應(yīng)緩存通知的請求. 總體上講這處辦法的效率比較低,在數(shù)據(jù)量較大的情況下可能會造成大量緩存數(shù)據(jù)的同步數(shù)據(jù)流。

我們再來看看M$是怎么做的,它的想法類似,只不過它不在WebFarm的成員服務(wù)器之間同步緩存,而只是保證每臺機器不要讀到已經(jīng)失效的緩存數(shù)據(jù),當(dāng)緩存數(shù)據(jù)失效時(相關(guān)依賴數(shù)據(jù)被更新), 通過維護(hù)一個需要通知的服務(wù)器列表依次調(diào)用每臺服務(wù)器上的WebService,如果當(dāng)前服務(wù)器上存在這鍵值的緩存則使它失效.

這兩個老外寫的東西似乎都比較啰索,不過對初學(xué)者來說比較友好,可以一步步地知道這件事情的來龍去脈,理解會清楚更刻一些。

.NET分布式緩存:Memcached到底有多快?

看了這些如果還不滿意,那么您可以試試Memcached它可以運行在Win32平臺下,在上篇文章中我們已經(jīng)提到了這個東西,但是它在.Net的平臺下面究竟表現(xiàn)如何?是否能象在PHP平臺下面一樣地優(yōu)秀,我們現(xiàn)在來做一個簡單的測試, 對比使用.Net自帶的Cache和Memcached兩種實現(xiàn)方式,看看差距究竟有多大,過程是這樣,分別生成10000個字符串對象并分別設(shè)定鍵值插入到緩存中,然后再取出來,看看花費的總時間. 服務(wù)器端:memcached-1.2.1-win32, 客戶端: memcacheddotnet_clientlib-1.1.5, 服務(wù)器端的使用也比較簡單,解壓文件之后在命令行下面輸入: c:\memcached -d install 先安裝服務(wù), 接著 c:\memcached -d start就可以了,詳細(xì)使用方法見說明文件 -h 是查看幫助, 測試環(huán)境如下:

Memcached服務(wù)器 : Win2003 sp1, Framework 2.0,P4 D 3.4G, 768MB 內(nèi)存, 千兆網(wǎng)卡.

Memcached客戶機 : Win2003 sp1, Framework 2.0,T2060, 1G內(nèi)存( 沙加的神舟筆記本;) ), 千兆網(wǎng)卡.

兩臺機器通過直連線相連.

.Net Cache單機測試 : P4 D 3.4G, 768MB 內(nèi)存.

測試結(jié)果, 存取10000個條目的時間:

  1. Memcached  
  2. Set(秒)  1.48  1.37  1.48  1.37  1.46    
  3. Get(秒)  2.42 2.42  2.42  2.43  2.42    
  4.  
  5. HttpRuntime.Cache  
  6. Set(秒)  0.015  0.015  0.015  0.015  0.015    
  7. Get(秒)  
  8.  0.015 0.015  0.015  0.015  0.015    

.Net內(nèi)建緩存測試代碼

HttpRuntime.Cache

  1. protected void Page_Load(object sender, EventArgs e)  
  2. {  
  3.         int start = 200;  
  4.         int runs = 10000;  
  5.  
  6.         string keyBase = "testKey";  
  7.         string obj = "This is a test of an object blah blah es, serialization does not seem to slow things down so much.  The gzip compression is horrible horrible performance, so we only use it for very large objects.  I have not done any heavy benchmarking recently";  
  8.  
  9.         long begin = DateTime.Now.Ticks;  
  10.         for(int i = start; i < start+runs; i++)   
  11.         {  
  12.             HttpRuntime.Cache.Add(keyBase + i, obj,null,System.Web.Caching.Cache.NoAbsoluteExpiration,  
  13.                 TimeSpan.FromMinutes(1),System.Web.Caching.CacheItemPriority.Normal,null);  
  14.         }  
  15.         long end = DateTime.Now.Ticks;  
  16.         long time = end - begin;  
  17.  
  18.         Response.Write(runs + " sets: " + new TimeSpan(time).ToString() + "ms<br />");  
  19.  
  20.         begin = DateTime.Now.Ticks;  
  21.         int hits = 0;  
  22.         int misses = 0;  
  23.         for(int i = start; i < start+runs; i++)   
  24.         {  
  25.             string str = (string) HttpRuntime.Cache.Get(keyBase + i);  
  26.             if(str != null)  
  27.                 ++hits;  
  28.             else 
  29.                 ++misses;  
  30.         }  
  31.         end = DateTime.Now.Ticks;  
  32.         time = end - begin;  
  33.  
  34.         Response.Write(runs + " gets: " + new TimeSpan(time).ToString() + "ms");  
  35. }  

Memcached測試代碼

Memcached

  1. namespace Memcached.MemcachedBench  
  2. {  
  3.     using System;  
  4.     using System.Collections;  
  5.  
  6.     using Memcached.ClientLibrary;  
  7.  
  8.     public class MemcachedBench   
  9.     {  
  10.         [STAThread]  
  11.         public static void Main(String[] args)   
  12.         {  
  13.             int runs = 100;  
  14.             int start = 200;  
  15.             if(args.Length > 1)  
  16.             {  
  17.                 runs = int.Parse(args[0]);  
  18.                 start = int.Parse(args[1]);  
  19.             }  
  20.  
  21.             string[] serverlist = { "140.192.34.72:11211""140.192.34.73:11211" };  
  22.  
  23.             // initialize the pool for memcache servers  
  24.             SockIOPool pool = SockIOPool.GetInstance();  
  25.             pool.SetServers(serverlist);  
  26.  
  27.             pool.InitConnections = 3;  
  28.             pool.MinConnections = 3;  
  29.             pool.MaxConnections = 5;  
  30.  
  31.             pool.SocketConnectTimeout = 1000;  
  32.             pool.SocketTimeout = 3000;  
  33.  
  34.             pool.MaintenanceSleep = 30;  
  35.             pool.Failover = true;  
  36.  
  37.             pool.Nagle = false;  
  38.             pool.Initialize();  
  39.  
  40.             MemcachedClient mc = new MemcachedClient();  
  41.             mc.EnableCompression = false;  
  42.  
  43.             string keyBase = "testKey";  
  44.             string obj = "This is a test of an object blah blah es, serialization does not seem to slow things down so much.  The gzip compression is horrible horrible performance, so we only use it for very large objects.  I have not done any heavy benchmarking recently";  
  45.  
  46.             long begin = DateTime.Now.Ticks;  
  47.             for(int i = start; i < start+runs; i++)   
  48.             {  
  49.                 mc.Set(keyBase + i, obj);  
  50.             }  
  51.             long end = DateTime.Now.Ticks;  
  52.             long time = end - begin;  
  53.  
  54.             Console.WriteLine(runs + " sets: " + new TimeSpan(time).ToString() + "ms");  
  55.  
  56.             begin = DateTime.Now.Ticks;  
  57.             int hits = 0;  
  58.             int misses = 0;  
  59.             for(int i = start; i < start+runs; i++)   
  60.             {  
  61.                 string str = (string) mc.Get(keyBase + i);  
  62.                 if(str != null)  
  63.                     ++hits;  
  64.                 else 
  65.                     ++misses;  
  66.             }  
  67.             end = DateTime.Now.Ticks;  
  68.             time = end - begin;  
  69.  
  70.             Console.WriteLine(runs + " gets: " + new TimeSpan(time).ToString() + "ms");  
  71.             Console.WriteLine("Cache hits: " + hits.ToString());  
  72.             Console.WriteLine("Cache misses: " + misses.ToString());  
  73.  
  74.             IDictionary stats = mc.Stats();  
  75.             foreach(string key1 in stats.Keys)  
  76.             {  
  77.                 Console.WriteLine(key1);  
  78.                 Hashtable values = (Hashtable)stats[key1];  
  79.                 foreach(string key2 in values.Keys)  
  80.                 {  
  81.                     Console.WriteLine(key2 + ":" + values[key2]);  
  82.                 }  
  83.                 Console.WriteLine();  
  84.             }  
  85.  
  86.             SockIOPool.GetInstance().Shutdown();  
  87.         }  
  88.     }  
  89. }  

結(jié)論

通過這個對比測試我們可以看出內(nèi)建的Cache比使用Memcached要快出約130倍,但是從總體速度上來看Memcached并不慢,這兩種方式可以在項目中有選擇性地結(jié)合使用可以產(chǎn)生很棒的效果.并且Memcached可使用的內(nèi)存數(shù)量要多得多,同時也可以做集群避免單點問題.

以上就介紹了.NET分布式緩存之Memcached的速度檢測。本文來自沙加的博客:《.Net下的分布式緩存(2)--實現(xiàn)分布式緩存同步的手段》

【編輯推薦】

  1. 如何避免ASP.NET緩存占用系統(tǒng)資源
  2. .NET緩存機制探討與比對
  3. 概述ASP.NET緩存機制
  4. ASP.NET數(shù)據(jù)緩存之?dāng)?shù)據(jù)緩存淺談
  5. ASP.NET數(shù)據(jù)緩存機制淺析
責(zé)任編輯:yangsai 來源: 沙加的博客
相關(guān)推薦

2009-11-09 09:25:24

Memcached入門

2009-02-06 09:38:38

memcached分布式緩存系統(tǒng)ASP.NET

2009-02-10 08:57:01

分布式緩存.Net開發(fā)

2019-07-04 15:13:16

分布式緩存Redis

2018-02-07 10:46:20

數(shù)據(jù)存儲

2011-11-30 14:21:19

Java分布式緩存

2023-05-12 11:52:21

緩存場景性能

2023-02-28 07:01:11

分布式緩存平臺

2019-02-18 11:16:12

Redis分布式緩存

2013-06-13 11:29:14

分布式分布式緩存

2018-07-17 08:14:22

分布式分布式鎖方位

2020-04-28 14:25:14

緩存分布式數(shù)據(jù)

2023-10-09 09:27:33

Docker容器

2011-05-11 16:42:21

.NET Remoti

2018-12-14 10:06:22

緩存分布式系統(tǒng)

2023-01-13 07:39:07

2015-09-21 09:20:11

C#Couchbase使用

2017-12-12 14:51:15

分布式緩存設(shè)計

2022-04-07 17:13:09

緩存算法服務(wù)端

2025-06-13 07:30:51

點贊
收藏

51CTO技術(shù)棧公眾號

国产精品亲子伦对白| 激情综合激情| 欧美一区二区三区四区久久 | 国产精品欧美大片| 日韩欧美a级成人黄色| 亚洲精品一区二区三区四区五区| 91女人18毛片水多国产| 亚洲无吗在线| 一区二区三区在线播放欧美| 91视频免费版污| 2024最新电影在线免费观看| 99精品桃花视频在线观看| 国产精品美女www| 国产性猛交普通话对白| 欧美激情在线精品一区二区三区| 欧美日韩不卡一区二区| 欧美日韩不卡在线视频| av电影在线播放高清免费观看| 国产成人精品免费视频网站| 国产精品白丝jk喷水视频一区| 欧美成人精品欧美一级| 精品久久91| 亚洲精品短视频| 亚欧激情乱码久久久久久久久| 成年网站在线视频网站| 国产精品久久久久久久久快鸭 | 午夜精品久久久久久久99热浪潮 | 亚洲一区二区三区四区在线| 午夜午夜精品一区二区三区文| 你懂的网站在线| 国产在线不卡一卡二卡三卡四卡| 国产91免费看片| 亚洲激情视频一区| 欧美 日韩 国产 一区| 中文字幕欧美精品在线| 久操视频免费看| 欧美电影免费网站| 欧美videos中文字幕| 亚洲一区日韩精品| yiren22亚洲综合| 欧美午夜无遮挡| 国内精品视频一区二区三区| 在线视频国产区| 综合久久一区二区三区| 婷婷精品国产一区二区三区日韩| 日本天堂在线| 91美女福利视频| 国产精品v欧美精品∨日韩| 国产精品久久久久久久久久久久久久久久久久| 日韩在线卡一卡二| 88国产精品欧美一区二区三区| 国产亚洲精品码| 国产精品chinese| 萌白酱国产一区二区| 日韩精品一区二区三区在线视频| 日本a级不卡| 日韩精品在线播放| 一区二区三区少妇| 一本色道久久综合亚洲精品酒店 | 欧美性爽视频| 亚洲综合一区二区| 亚洲理论电影在线观看| 国产精品69xx| 午夜精品久久久久久久99樱桃| 久久99久久99精品| 麻豆理论在线观看| 一本色道久久综合狠狠躁的推荐| 国产精品-区区久久久狼| 亚洲精品动漫| 欧美亚洲国产bt| 色婷婷一区二区三区av免费看| 久久精品 人人爱| 日韩一级二级三级精品视频| 麻豆av免费看| 欧美调教视频| 亚洲新中文字幕| 农村老熟妇乱子伦视频| 91精品电影| 欧美激情中文网| 手机看片久久久| 日本特黄久久久高潮| 国产美女搞久久| 国产成人三级一区二区在线观看一 | 欧美俄罗斯乱妇| 日韩 欧美 综合| 日韩中文字幕区一区有砖一区 | 亚洲图片欧美色图| 成人三级视频在线播放 | 国产精品制服诱惑| 亚洲三级中文字幕| 国产精品免费av| 欧美国产视频一区| 欧美黑人粗大| 欧美一区二区免费观在线| 野战少妇38p| 欧美精品一区二区三区精品| 欧美成人精品三级在线观看 | 99精品国产在热久久| 国产999在线| 精品久久久久中文慕人妻| 99在线精品一区二区三区| 亚洲精品欧洲精品| 波多野结衣在线播放| 欧美在线短视频| 国产裸体视频网站| 国产亚洲一区| 久久久久久久久综合| 丰满熟女人妻一区二区三| 国产成人午夜99999| 欧美一区2区三区4区公司二百| av小次郎在线| 日本精品一级二级| 日批免费观看视频| 欧美激情成人| 日韩免费不卡av| 狠狠躁日日躁夜夜躁av| 中文字幕免费不卡| 男人靠女人免费视频网站| 欧一区二区三区| 色噜噜久久综合伊人一本| 99免费在线观看| 国产精品夜夜嗨| 亚洲欧美电影在线观看| 国产va在线视频| 欧美一激情一区二区三区| 亚洲最大成人综合网| 亚洲精品女人| 成人欧美一区二区| 成人免费观看视频大全| 欧美三级资源在线| 无码h肉动漫在线观看| 国产一区欧美| 91在线免费看片| 欧美r级在线| 欧美色涩在线第一页| 日本xxxx裸体xxxx| 99视频精品免费观看| 高清不卡日本v二区在线| 黄色网址在线免费播放| 欧美色老头old∨ideo| 中文字幕 自拍| 久久午夜视频| 欧美精品一区在线| 黄色综合网址| 亚洲欧洲一区二区三区在线观看| 中日韩黄色大片| 91在线精品一区二区| 成人网站免费观看入口| 999久久久精品一区二区| 欧美激情一级精品国产| www.五月激情| 亚洲午夜三级在线| 艳妇乳肉豪妇荡乳xxx| 伊人成人在线视频| 久久www免费人成精品| 蜜桃av在线播放| 亚洲欧美激情精品一区二区| 4438国产精品一区二区| 国产欧美精品一区| 超碰超碰在线观看| 婷婷综合网站| 99理论电影网| 涩涩网在线视频| 亚洲欧美日韩精品久久奇米色影视| 免费av网站在线| 欧美激情一区二区三区蜜桃视频| 少妇激情一区二区三区| 日韩电影免费在线观看| 成人精品一区二区三区电影免费| 黄色网在线播放| 欧美变态tickling挠脚心| 伊人国产在线观看| 91香蕉视频mp4| 黄色aaa级片| 中文字幕一区二区精品区| 不卡一卡2卡3卡4卡精品在| 999av小视频在线| 亚洲免费一在线| 亚洲最新av网站| 一个色综合av| 久久久久久久久久久久| 久久99精品国产麻豆婷婷| 日韩亚洲欧美一区二区| 日韩免费电影在线观看| 国产精品入口夜色视频大尺度| fc2ppv国产精品久久| 亚洲精品720p| 中文字幕在线观看第二页| 亚洲黄色性网站| 在线观看福利片| 国产一区二区三区不卡在线观看| 国产a级片网站| 日本不卡电影| 国产一区精品视频| 成人在线不卡| 911国产网站尤物在线观看| 91成人高清| 亚洲黄色免费三级| 一级黄色片在线观看| 午夜不卡av免费| 91久久久久久久久久久久久久| www.欧美.com| 一级黄色在线播放| 蜜乳av另类精品一区二区| 欧美 国产 精品| 精品在线91| 成人动漫视频在线观看完整版 | 婷婷丁香在线| 夜夜躁日日躁狠狠久久88av| 丰满人妻一区二区| 欧美片在线播放| 国产成人综合欧美精品久久| 亚洲欧美日韩一区| 久久久久久久毛片| 成人免费毛片app| 一级做a免费视频| 久久久噜噜噜| 日本中文字幕网址| 综合天堂久久久久久久| 日韩偷拍一区二区| 久久激情av| 91久久国产综合久久蜜月精品| 亚洲精品一区三区三区在线观看| 午夜精品福利电影| 欧美人体视频xxxxx| 精品国产一区二区三区四区在线观看 | 欧美激情图片小说| 中文字幕一区二区日韩精品绯色| 中文字幕一区二区人妻在线不卡| 福利视频网站一区二区三区| 天天影视色综合| 日本美女一区二区| 欧美色图另类小说| 亚洲经典在线| 性一交一乱一伧国产女士spa| 欧美激情亚洲| wwwjizzjizzcom| 在线精品视频在线观看高清| 正在播放国产精品| 久久中文字幕av| 午夜精品一区二区三区四区 | 国产91精品免费| www.偷拍.com| 国产一区二区女| 亚洲精品无码久久久久久久| 久久er99精品| 亚洲免费成人在线视频| 久久国产精品免费| 色噜噜狠狠一区二区| 美美哒免费高清在线观看视频一区二区 | 免费成人毛片| 成人免费看黄网站| 疯狂欧洲av久久成人av电影| 成人黄色大片在线免费观看| 欧美一区二区三区婷婷| 成人国产精品日本在线| 国产精选久久| julia一区二区中文久久94| 亚洲视频精选| 精品视频一区在线| 一呦二呦三呦国产精品| 色播五月综合| 91tv官网精品成人亚洲| 国产在线视频综合| 国产精品美女| 欧美日韩在线成人| 久久精品国产成人一区二区三区 | 久久香蕉频线观| 三级资源在线| 欧美一级视频在线观看| se69色成人网wwwsex| 亚洲va电影大全| 欧美成人基地| 亚洲激情一区二区| 欧美色图首页| 四虎永久在线精品无码视频| 久久国产精品色婷婷| 黑人玩弄人妻一区二区三区| 久久久综合网站| www.av免费| 午夜久久久久久电影| 国产成人精品777777| 777午夜精品视频在线播放| 成人免费一级视频| 亚洲欧美在线看| 麻豆av免费在线观看| 久久久久国产视频| 三级成人在线| 91视频最新| 在线一级成人| 69精品丰满人妻无码视频a片| 国产伦理一区| 亚洲欧美日本一区二区| 99久久国产免费看| 欧美日韩色视频| 欧美视频第一页| 国产免费黄色网址| 亚洲欧美自拍一区| 日本aa在线| 国产欧美精品在线| 欧美三级午夜理伦三级在线观看 | 在线观看国产原创自拍视频| 九色精品美女在线| 日韩一区二区三区免费| 99热在线播放| 色综合久久一区二区三区| 欧美精品一区二区三区三州| 麻豆国产精品一区二区三区| 中文字幕免费在线播放| 国产精品不卡在线| 国产成人综合欧美精品久久| 日韩精品一区二区三区在线观看| 国产乱子伦三级在线播放| 国内精品视频一区| 国产成年精品| 亚洲自拍三区| 视频在线观看91| 午夜视频在线观看国产| 亚洲三级在线免费| 国产乡下妇女三片| 亚洲欧美日韩中文在线| eeuss鲁一区二区三区| 91久久精品视频| 色88久久久久高潮综合影院| 97xxxxx| 2欧美一区二区三区在线观看视频| 亚洲色图综合区| 欧美精品成人一区二区三区四区| 国产综合在线观看| 奇米一区二区三区四区久久| 国产毛片精品| 成年人看的毛片| 国产成人午夜高潮毛片| 青娱乐av在线| 欧美一卡二卡在线| www.欧美日本韩国| 91日韩在线视频| 国产精品久久久久久| 99re精彩视频| 中文字幕一区二区三区蜜月| 亚洲高清在线看| 一区二区av在线| 456成人影院在线观看| 日韩电影天堂视频一区二区| 三级亚洲高清视频| 亚洲av综合一区二区| 欧美性xxxx极品hd欧美风情| 日本一卡二卡四卡精品| 日韩av不卡电影| 国产乱码精品一区二区三区四区 | 国产精品第72页| 日韩av中文在线| 国产精品av一区二区三区 | 欧美色一级片| 青青草视频网站| 欧美性xxxxxxxxx| jyzzz在线观看视频| 国产在线日韩在线| 午夜精品久久久久99热蜜桃导演 | www.欧美国产| 欧美日韩国产成人| 国产成人精品亚洲线观看| 久久视频这里有精品| 久久在线免费观看| 亚洲中文无码av在线| 日韩色av导航| 91综合精品国产丝袜长腿久久| 无码专区aaaaaa免费视频| 91在线观看一区二区| 日韩精选在线观看| 久久夜色精品国产亚洲aⅴ| 爱爱精品视频| 成年人在线看片| 一区二区中文视频| 黄色片网站免费在线观看| 欧美亚洲激情在线| 色88久久久久高潮综合影院| 色欲无码人妻久久精品| 精品日韩中文字幕| avav免费在线观看| 99久久久精品免费观看国产| 亚洲专区在线| frxxee中国xxx麻豆hd| 精品国产网站在线观看| 成人午夜视屏| 欧美大片免费播放| xnxx国产精品| 国产精品无码久久久久成人app| 久久免费成人精品视频| 欧美色女视频| 亚洲欧美综合视频| 在线看国产一区| 美女日批视频在线观看| 欧美午夜精品理论片a级大开眼界| 精品在线播放午夜| 久久国产精品免费看| 久久久精品美女| 亚洲人挤奶视频| 久久发布国产伦子伦精品| 日本精品免费观看高清观看|