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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

关于全局缓存的一种简单实现方法

發布時間:2023/12/2 编程问答 64 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于全局缓存的一种简单实现方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

緩存,在.Net系統開發中,經常使用到。如果,讓你自己去實現,你會怎么做呢。

開始編碼前思考:

?1、肯定 是要 根據 key 去查詢對應value,so 應該是List<KeyValuePair> 這類集合做緩存載體;

?2、肯定是要全局公用,so 緩存的列表應該唯一;

?3、應該有支持并發的能力,so 實現過程中肯定要加鎖;?

?4、應該可以支持過期,自動 or 手動,so 應該 可以添加過期時間;

好的,基于以上3點,設計的類應該需要是單體(單例)模式,查詢、刪除key時應該lock 緩存載體,可以有定時清除過期緩存項的能力;

1 public static class CacheHelper 2 { 3 private static int RestoreCacheCount = 20000; 4 private static DateTime LastRestoreCachTime; 5 private static Dictionary<string, MyCacheEntity> CacheEntryDictionary; 6 private static readonly object objLock = new object(); 7 8 static CacheHelper() 9 { 10 if (CacheEntryDictionary == null) 11 { 12 lock (objLock) 13 { 14 if (CacheEntryDictionary == null) 15 { 16 CacheEntryDictionary = new Dictionary<string, MyCacheEntity>(); 17 LastRestoreCachTime = DateTime.Now; 18 System.Threading.Tasks.Task.Factory.StartNew(() => RestoreCache()); 19 } 20 } 21 } 22 } 23 24 public static void Set<T>(string key, T entity, double timeout) 25 { 26 if (string.IsNullOrEmpty(key)) 27 throw new ArgumentNullException(nameof(key)); 28 if (entity == null) 29 throw new ArgumentNullException(nameof(entity)); 30 var expiredTime = DateTime.Now.AddSeconds(timeout); 31 lock (objLock) 32 { 33 if (DateTime.Now.Subtract(expiredTime).TotalSeconds >= 0) 34 { 35 if (CacheEntryDictionary.ContainsKey(key)) 36 CacheEntryDictionary.Remove(key); 37 } 38 else 39 { 40 CacheEntryDictionary[key] = new MyCacheEntity { Value = entity, ExpiredTime = expiredTime }; 41 } 42 } 43 } 44 45 public static T Get<T>(string key) 46 { 47 if (string.IsNullOrEmpty(key)) 48 throw new ArgumentNullException(nameof(key)); 49 var value = default(T); 50 lock (objLock) 51 { 52 var exist = CacheEntryDictionary.ContainsKey(key); 53 if (!exist) return value; 54 var obj = CacheEntryDictionary[key]; 55 if (obj == null) 56 { 57 CacheEntryDictionary.Remove(key); 58 return value; 59 } 60 if (obj.ExpiredTime == DateTime.MinValue || DateTime.Now.Subtract(obj.ExpiredTime).TotalSeconds >= 0) 61 { 62 CacheEntryDictionary.Remove(key); 63 return value; 64 } 65 return (T)Convert.ChangeType(obj.Value, typeof(T)); 66 } 67 } 68 69 public static void Remove(string key) 70 { 71 if (string.IsNullOrEmpty(key)) 72 throw new ArgumentNullException(nameof(key)); 73 try 74 { 75 lock (objLock) 76 { 77 var exist = CacheEntryDictionary.ContainsKey(key); 78 if (!exist) return; 79 CacheEntryDictionary.Remove(key); 80 } 81 } 82 catch (Exception e) 83 { 84 throw e; 85 } 86 } 87 88 public static void Clear() 89 { 90 try 91 { 92 lock (objLock) 93 { 94 CacheEntryDictionary.Clear(); 95 LastRestoreCachTime = DateTime.Now; 96 } 97 } 98 catch (Exception e) 99 { 100 throw e; 101 } 102 } 103 104 public static int Count => CacheEntryDictionary?.Count ?? 0; 105 106 private static void RestoreCache() 107 { 108 while (true) 109 { 110 if (CacheEntryDictionary.Keys.Count < 1) return; 111 try 112 { 113 bool isEnter = false; 114 Monitor.TryEnter(CacheEntryDictionary, 1000, ref isEnter); 115 if (isEnter) 116 { 117 if (CacheEntryDictionary.Count > RestoreCacheCount && DateTime.Now.Subtract(LastRestoreCachTime).TotalMinutes > 1) 118 { 119 var keys = CacheEntryDictionary.Where(m => m.Value.ExpiredTime < DateTime.Now).Select(m => m.Key).ToList(); 120 foreach (var key in keys) 121 { 122 CacheEntryDictionary.Remove(key); 123 } 124 LastRestoreCachTime = DateTime.Now; 125 } 126 } 127 } 128 finally 129 { 130 Monitor.Exit(CacheEntryDictionary); 131 } 132 Thread.Sleep(1000 * 6); 133 } 134 } 135 } 136 public class MyCacheEntity 137 { 138 public object Value { get; set; } 139 public DateTime ExpiredTime { get; set; } 140 }

如果想要 key 不區分大小寫,可以 在構造函數中 設置

?CacheEntryDictionary = new Dictionary<string, MyCacheEntity>(StringComparer.OrdinalIgnoreCase);

你可能會有疑問,為什么不用 線程安全的字典?ConcurrentDictionary 呢?

當然可以將?Dictionary 改為?ConcurrentDictionary 沒有任何問題,只是我想要自己手動實現加減速的過程;ConcurrentDictionary 字典內部也是調用Monitor 進行的加減鎖的過程;

如果想要在緩存中實現 緩存文件,并且文件內容改變同步修改緩存的內容呢?

修改 以上方法 加入

?1、添加緩存文件

?2、刷新緩存文件內容,定時過期、監控文件內容更改等;

相關代碼;

1 public static class CacheHelper 2 { 3 private static int RestoreCacheCount = 20000; 4 private static DateTime LastRestoreCachTime; 5 private static Dictionary<string, MyCacheEntity> CacheEntryDictionary; 6 private static readonly object objLock = new object(); 7 private static Dictionary<string, MyCacheEntity> FileCacheEntryDictionary; 8 9 static CacheHelper() 10 { 11 if (CacheEntryDictionary == null) 12 { 13 lock (objLock) 14 { 15 if (CacheEntryDictionary == null) 16 { 17 CacheEntryDictionary = new Dictionary<string, MyCacheEntity>(StringComparer.OrdinalIgnoreCase); 18 LastRestoreCachTime = DateTime.Now; 19 System.Threading.Tasks.Task.Factory.StartNew(() => RestoreCache()); 20 } 21 if (FileCacheEntryDictionary == null) 22 { 23 FileCacheEntryDictionary = new Dictionary<string, MyCacheEntity>(); 24 System.Threading.Tasks.Task.Factory.StartNew(() => ReFreshFileCache()); 25 } 26 } 27 } 28 } 29 30 public static void Set<T>(string key, T entity, double timeout) 31 { 32 if (string.IsNullOrEmpty(key)) 33 throw new ArgumentNullException(nameof(key)); 34 if (entity == null) 35 throw new ArgumentNullException(nameof(entity)); 36 var expiredTime = DateTime.Now.AddSeconds(timeout); 37 lock (objLock) 38 { 39 if (DateTime.Now.Subtract(expiredTime).TotalSeconds >= 0) 40 { 41 if (CacheEntryDictionary.ContainsKey(key)) 42 CacheEntryDictionary.Remove(key); 43 } 44 else 45 { 46 CacheEntryDictionary[key] = new MyCacheEntity { Value = entity, ExpiredTime = expiredTime }; 47 } 48 } 49 } 50 51 public static void SetFile(string key, string filePath, Encoding encoding, double timeout) 52 { 53 if (string.IsNullOrEmpty(key)) 54 throw new ArgumentNullException(nameof(key)); 55 if (!File.Exists(filePath)) 56 throw new FileNotFoundException(filePath); 57 var expiredTime = DateTime.Now.AddSeconds(timeout); 58 lock (objLock) 59 { 60 if (DateTime.Now.Subtract(expiredTime).TotalSeconds >= 0) 61 { 62 if (CacheEntryDictionary.ContainsKey(key)) 63 CacheEntryDictionary.Remove(key); 64 } 65 else 66 { 67 FileInfo fileInfo = new FileInfo(filePath); 68 string value = null; 69 using (var stream = new StreamReader(filePath, encoding)) 70 { 71 value = stream.ReadToEnd(); 72 } 73 CacheEntryDictionary[key] = new MyCacheEntity 74 { 75 Value = value, 76 ExpiredTime = expiredTime 77 }; 78 FileCacheEntryDictionary[key] = new MyCacheEntity 79 { 80 Value = new FileCacheOption 81 { 82 FilePath = filePath, 83 FileSize = fileInfo.Length, 84 LastWriteTime = fileInfo.LastWriteTime, 85 Encoding = encoding 86 }, 87 ExpiredTime = expiredTime 88 }; 89 } 90 } 91 } 92 93 public static T Get<T>(string key) 94 { 95 if (string.IsNullOrEmpty(key)) 96 throw new ArgumentNullException(nameof(key)); 97 var value = default(T); 98 lock (objLock) 99 { 100 var exist = CacheEntryDictionary.ContainsKey(key); 101 if (!exist) return value; 102 var obj = CacheEntryDictionary[key]; 103 if (obj == null) 104 { 105 CacheEntryDictionary.Remove(key); 106 return value; 107 } 108 if (obj.ExpiredTime == DateTime.MinValue || DateTime.Now.Subtract(obj.ExpiredTime).TotalSeconds >= 0) 109 { 110 CacheEntryDictionary.Remove(key); 111 return value; 112 } 113 return (T)Convert.ChangeType(obj.Value, typeof(T)); 114 } 115 } 116 117 public static void Remove(string key) 118 { 119 if (string.IsNullOrEmpty(key)) 120 throw new ArgumentNullException(nameof(key)); 121 try 122 { 123 lock (objLock) 124 { 125 var exist = CacheEntryDictionary.ContainsKey(key); 126 if (!exist) return; 127 CacheEntryDictionary.Remove(key); 128 if (FileCacheEntryDictionary.ContainsKey(key)) 129 FileCacheEntryDictionary.Remove(key); 130 } 131 } 132 catch (Exception e) 133 { 134 throw e; 135 } 136 } 137 138 public static void Clear() 139 { 140 try 141 { 142 lock (objLock) 143 { 144 CacheEntryDictionary.Clear(); 145 FileCacheEntryDictionary.Clear(); 146 LastRestoreCachTime = DateTime.Now; 147 } 148 } 149 catch (Exception e) 150 { 151 throw e; 152 } 153 } 154 155 public static int Count => CacheEntryDictionary?.Count ?? 0; 156 157 private static void RestoreCache() 158 { 159 while (true) 160 { 161 if (CacheEntryDictionary.Keys.Count < 1) return; 162 try 163 { 164 bool isEnter = false; 165 Monitor.TryEnter(CacheEntryDictionary, 1000, ref isEnter); 166 if (isEnter) 167 { 168 if (CacheEntryDictionary.Count > RestoreCacheCount && DateTime.Now.Subtract(LastRestoreCachTime).TotalMinutes > 1) 169 { 170 var keys = CacheEntryDictionary.Where(m => m.Value.ExpiredTime < DateTime.Now).Select(m => m.Key).ToList(); 171 foreach (var key in keys) 172 { 173 CacheEntryDictionary.Remove(key); 174 } 175 LastRestoreCachTime = DateTime.Now; 176 } 177 } 178 } 179 finally 180 { 181 Monitor.Exit(CacheEntryDictionary); 182 } 183 184 Thread.Sleep(1000 * 6); 185 } 186 } 187 188 private static void ReFreshFileCache() 189 { 190 while (true) 191 { 192 if (FileCacheEntryDictionary.Keys.Count < 1) return; 193 try 194 { 195 bool isEnter = false; 196 Monitor.TryEnter(FileCacheEntryDictionary, 100, ref isEnter); 197 if (isEnter && FileCacheEntryDictionary.Keys.Count > 0) 198 { 199 var keys = FileCacheEntryDictionary.Keys.ToList(); 200 foreach (var key in keys) 201 { 202 var value = FileCacheEntryDictionary[key]; 203 if (value.ExpiredTime <= DateTime.Now) 204 { 205 FileCacheEntryDictionary.Remove(key); 206 continue; 207 } 208 var fileCacheOption = value.Value as FileCacheOption; 209 if (fileCacheOption == null) 210 { 211 FileCacheEntryDictionary.Remove(key); 212 continue; 213 } 214 if (!File.Exists(fileCacheOption.FilePath)) 215 { 216 FileCacheEntryDictionary.Remove(key); 217 CacheEntryDictionary.Remove(key); 218 continue; 219 } 220 FileInfo fileInfo = new FileInfo(fileCacheOption.FilePath); 221 if (fileInfo.Length != fileCacheOption.FileSize || fileInfo.LastWriteTime != fileCacheOption.LastWriteTime) 222 { 223 fileCacheOption.LastWriteTime = fileInfo.LastWriteTime; 224 fileCacheOption.FileSize = fileInfo.Length; 225 FileCacheEntryDictionary[key] = new MyCacheEntity { Value = fileCacheOption, ExpiredTime = value.ExpiredTime }; 226 using (var stream = new StreamReader(fileCacheOption.FilePath, fileCacheOption.Encoding)) 227 { 228 Set(key, stream.ReadToEnd(), (int)value.ExpiredTime.Subtract(DateTime.Now).TotalSeconds); 229 } 230 } 231 } 232 } 233 } 234 finally 235 { 236 Monitor.Exit(FileCacheEntryDictionary); 237 } 238 239 Thread.Sleep(100); 240 } 241 } 242 } 243 public class MyCacheEntity 244 { 245 public object Value { get; set; } 246 public DateTime ExpiredTime { get; set; } 247 } 248 249 public class FileCacheOption 250 { 251 public string FilePath { get; set; } 252 public long FileSize { get; set; } 253 public DateTime LastWriteTime { get; set; } 254 public Encoding Encoding { get; set; } 255 }

其實上邊的文件監控 可以用?FileSystemWatcher 來做文件監控,。只是我做測試的時候,在觸發多個事件讀取文件內容時,會報文件被占用,然后就是在centos 下,編輯文件后保存時,會同時觸發 Created、Changed 兩個事件,在windows 下不存在這種情況,可能是我的方法設置有問題吧。

轉載于:https://www.cnblogs.com/flyfishing/articles/Global_CacheHelper.html

總結

以上是生活随笔為你收集整理的关于全局缓存的一种简单实现方法的全部內容,希望文章能夠幫你解決所遇到的問題。

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

国产精品久久久久久999 | 91精品伦理| 日韩免费网址 | 日三级在线 | 91网址在线看| 97超碰成人在线 | 国产精华国产精品 | av日韩中文 | 97精品久久人人爽人人爽 | 国产中出在线观看 | 欧美国产不卡 | 久久精品亚洲精品国产欧美 | 日韩欧美视频在线 | 波多野结衣久久精品 | 国产成人精品av | av黄色av | 久久精品免费观看 | 国产麻豆精品免费视频 | 激情综合网天天干 | 国产精品久久久久9999吃药 | 色在线中文字幕 | 日本中文字幕在线免费观看 | 国产精品日韩欧美一区二区 | 国产精品地址 | 久久综合狠狠综合久久综合88 | 西西4444www大胆无视频 | 国产成人福利在线观看 | 激情视频91| 在线免费观看羞羞视频 | 欧美一区二区在线刺激视频 | 顶级bbw搡bbbb搡bbbb | 精品在线观看一区二区三区 | 91禁在线观看 | 日本三级香港三级人妇99 | 日本成人免费在线观看 | 久久视屏网 | 日日夜夜天天综合 | 久久精品一区二区三区国产主播 | 中文区中文字幕免费看 | 日日躁夜夜躁xxxxaaaa | 日韩激情在线视频 | 国产成人精品一区二区三区在线观看 | 国产五月天婷婷 | 欧美污网站 | 久久激五月天综合精品 | 国产精品九九九 | 涩涩网站在线看 | 精品国产伦一区二区三区免费 | 国产精品18久久久久久久久 | 国产黄色在线网站 | 成人免费视频播放 | 国产不卡免费 | 亚洲精品国产精品乱码在线观看 | 九九九九热精品免费视频点播观看 | 国产精品成人一区二区三区吃奶 | 日韩中文字幕免费电影 | 亚洲精品456在线播放 | 国产欧美三级 | 久久久久在线视频 | 在线电影 一区 | 成人a视频在线观看 | 在线免费高清视频 | 91中文字幕在线 | 天天摸日日摸人人看 | 日韩视频免费 | 国内外成人在线视频 | 国内精品视频久久 | 91精品爽啪蜜夜国产在线播放 | 久久人人爽人人爽人人片av软件 | 久久天天躁狠狠躁亚洲综合公司 | 欧美在线观看小视频 | 免费看特级毛片 | 在线 成人 | 人人插人人澡 | v片在线看 | 亚洲爱av| 国产男女无遮挡猛进猛出在线观看 | a精品视频 | 亚洲 欧美日韩 国产 中文 | 91视频观看免费 | 99精品一区 | 国产亚州精品视频 | aa一级片 | 成人一级视频在线观看 | 欧美日韩中文在线 | 亚洲人视频在线 | 色鬼综合网| 欧美日韩不卡在线观看 | 国产 色| 精品国产99国产精品 | 天天干天天干天天 | 天天射天天干天天 | 欧美人操人 | 国产一区在线视频观看 | 亚洲欧美激情插 | 久久综合久久综合这里只有精品 | 99精品视频网站 | 国产亚洲精品美女久久 | 久久久成人精品 | 激情av在线资源 | 蜜臀久久99精品久久久无需会员 | 欧美成人在线网站 | 欧美巨大 | 日韩精品一区二区三区免费观看 | 欧美精品一区二区蜜臀亚洲 | 免费视频一级片 | 日韩在线观看的 | 亚洲精品在线观看av | 伊人影院在线观看 | 99爱视频| 一区二区不卡在线观看 | 91成人免费观看视频 | 九月婷婷人人澡人人添人人爽 | av免费播放| 中文字幕在线观看网站 | 又色又爽又黄高潮的免费视频 | 久久99亚洲精品久久久久 | 波多野结衣在线观看视频 | 午夜影院日本 | 91在线视频观看 | 日韩三级中文字幕 | 色七七亚洲影院 | 中文字幕在线视频一区二区三区 | 久久精品一区二区三区视频 | 在线免费中文字幕 | 久久久www成人免费精品张筱雨 | 久久经典国产视频 | 中文字幕888 | 国产精品美女久久久久久久久久久 | 国产精品久久一 | 深夜免费福利 | 国产护士hd高朝护士1 | 日韩激情视频在线观看 | 在线观看的av | 国产自产在线视频 | 国产黄色看片 | www黄色软件 | 欧美黑吊大战白妞欧美 | 免费视频久久久久久久 | 久久黄网站 | 麻豆一精品传二传媒短视频 | 日日干影院 | 亚洲电影第一页av | 国产99久久久久久免费看 | 久草在线视频资源 | 91久久久国产精品 | 五月婷婷.com | 欧美另类xxxxx | 色播六月天 | 国产人成在线观看 | 久久99久久99久久 | 一区二区在线不卡 | 天天干天天操天天拍 | 99这里有精品 | 91porny九色91啦中文 | 欧美精品小视频 | 亚洲草视频 | 久久不射电影网 | 99一级片| 最新中文字幕视频 | 97手机电影网 | 五月天亚洲精品 | 激情网综合 | 欧美一级大片在线观看 | 亚洲成人高清在线 | 中文字幕精品在线 | www.久久爱.cn| 中文字幕在线观看完整版电影 | 国产精品99在线观看 | 欧美日韩a视频 | 日本中文字幕高清 | 91精品国产99久久久久久久 | 狂野欧美激情性xxxx欧美 | 精品产品国产在线不卡 | 成人性生爱a∨ | 日本久久免费电影 | 国内精品二区 | 可以免费观看的av片 | 精品久久久久久亚洲综合网站 | 激情小说 五月 | 日本中文字幕在线免费观看 | 日日操操 | 欧美日韩二三区 | 久久草 | 中文在线免费观看 | 久久久久久久久久久久久影院 | 免费成人短视频 | 精品国产福利在线 | 亚洲视频在线视频 | 99精品免费在线观看 | 国产免费一区二区三区最新6 | 日韩中文字幕网站 | 黄色av电影网 | 99在线观看| 日b视频国产| 国产资源中文字幕 | 91视频-88av| 久久99精品国产麻豆宅宅 | 亚洲一级片免费观看 | 日本性久久 | 成x99人av在线www | 天天天天综合 | 久久经典国产 | 五月天最新网址 | 国产麻豆果冻传媒在线观看 | 亚洲九九九在线观看 | 狠狠色狠狠色合久久伊人 | 91大神在线看 | 99精品在线视频观看 | 国产 日韩 欧美 中文 在线播放 | 成人a免费看 | 国产96av | 亚洲精品国久久99热 | 亚洲国产精品va在线看黑人动漫 | 一区二区三区手机在线观看 | 成人av动漫在线 | 91免费在线视频 | 综合久久网 | 97人人爽| 亚洲欧美少妇 | 色视频成人在线观看免 | 久久伊人精品天天 | 久久99久久99精品 | 免费观看日韩av | 久久视频99| a久久久久| a天堂在线看| 欧美日比视频 | 亚洲美女精品区人人人人 | 久久精品一二三区白丝高潮 | 欧美另类老妇 | 欧美日韩亚洲在线 | 亚洲欧洲日韩 | 久久的色 | 伊人永久在线 | 色久五月| 欧美俄罗斯性视频 | av久久在线 | 国产99久久久国产精品免费看 | 五月婷婷丁香六月 | 亚洲精品h| 最新99热| 午夜精品久久久久久久99热影院 | 狠狠操操网 | 日本mv大片欧洲mv大片 | 91精品啪在线观看国产81旧版 | 香蕉久久国产 | 久久久久伊人 | 中文字幕在线观看视频网站 | 人人狠狠| 国内精品久久久久影院日本资源 | 日本中文字幕视频 | 日本爱爱免费 | 黄色三级久久 | 免费黄色一区 | 97在线观看视频免费 | 午夜精品一区二区三区四区 | 日本免费久久高清视频 | 久草视频免费看 | 蜜桃av久久久亚洲精品 | 狠狠躁日日躁 | 欧美在线视频a | 成人免费在线观看电影 | 婷婷在线网站 | 日韩高清免费观看 | 欧美大香线蕉线伊人久久 | 美女精品久久久 | 三三级黄色片之日韩 | 国产日韩欧美视频 | 奇米影视999 | 黄色毛片网站在线观看 | 69av免费视频 | 国产精彩在线视频 | 在线观看日本高清mv视频 | 久久久久久视频 | 国产日本亚洲高清 | 国产精品第52页 | 精品亚洲午夜久久久久91 | 色综合在 | 色婷婷综合视频在线观看 | 涩涩网站免费 | 久久不卡视频 | 开心丁香婷婷深爱五月 | 欧美嫩草影院 | 激情网婷婷| 欧美一区二区三区在线 | 黄色免费观看视频 | 99热这里只有精品1 av中文字幕日韩 | 久久久久久久久久久影院 | 蜜臀久久99精品久久久无需会员 | 91看片麻豆| 欧美午夜a| 欧美精品二区 | 久久精品一区二区三区国产主播 | 久久夜色精品国产欧美乱极品 | 日韩在线精品一区 | 亚洲午夜大片 | 狠狠狠色狠狠色综合 | 伊香蕉大综综综合久久啪 | 天天射天天干 | 99热国内精品 | 亚洲视频一区二区三区在线观看 | 日韩在线播放视频 | 久久伊人精品一区二区三区 | 国产黄a三级三级 | 美女视频黄免费网站 | 免费亚洲视频在线观看 | 国产在线观看高清视频 | 国产在线国产 | 国产精品国产三级国产专区53 | 婷婷婷国产在线视频 | 免费观看一级视频 | 久久综合综合久久综合 | 久久精品资源 | 在线观看av网站 | 欧美另类z0zx | 91在线免费观看网站 | 国产高清中文字幕 | 国产成人黄色在线 | 国产精品久久久久一区二区三区 | av不卡中文字幕 | 日韩免费观看av | 亚洲国产日韩一区 | 中文字幕一区三区 | 免费a一级 | 免费特级黄毛片 | 欧美成人精品三级在线观看播放 | www.黄色片网站 | 在线观看亚洲专区 | 日韩一区视频在线 | 国产理论影院 | 五月天色丁香 | 九九99视频| 麻豆视频在线观看免费 | 国产二区av | 黄色软件视频网站 | 久久激情五月激情 | 久久精品国产精品亚洲 | 欧美午夜理伦三级在线观看 | 天天操夜夜爱 | 久久 一区| 国产黄色在线观看 | 九七人人干 | 久久国产精品一区二区三区 | 久久新 | av免费试看| 国产精品成久久久久 | 国产精品毛片 | 97小视频 | 久久欧美综合 | 狠狠躁夜夜a产精品视频 | 中文字幕在线视频网站 | 中文字幕资源在线 | 久久久久成人精品免费播放动漫 | 日本少妇高清做爰视频 | 亚洲涩涩涩 | 99热官网 | 天天性天天草 | 日韩精品一区在线播放 | 日本一区二区三区免费看 | 成年人免费在线 | 久久首页 | a级国产乱理论片在线观看 伊人宗合网 | 狠狠婷婷| 六月激情 | 色久综合| 91福利视频在线 | 日韩www在线 | 亚洲色图27p| av大片免费在线观看 | 日韩精品免费 | 欧美性爽爽 | 插综合网 | 日本免费久久高清视频 | 国产精品一区二区三区四区在线观看 | 99热在线免费观看 | 99久久影院| 欧美国产精品一区二区 | 91九色视频在线观看 | 天堂在线一区二区 | 中文字幕在线视频一区二区三区 | 中文字幕久久亚洲 | 国产在线免费 | 丝袜美腿在线 | 有没有在线观看av | 免费一级片视频 | 国产日产在线观看 | 九色视频网站 | 丁香婷婷色综合亚洲电影 | 黄视频色网站 | 97精品视频在线播放 | 丁香综合激情 | 毛片1000部免费看 | 亚洲精品影院在线观看 | 久草热久草视频 | 日韩免费三级 | 国产一区av在线 | 97在线超碰 | 国产高清视频免费观看 | 日本特黄特色aaa大片免费 | 亚州精品成人 | 亚洲国产综合在线 | 欧美成人在线免费 | 午夜精品久久久久久久99水蜜桃 | 成人国产精品久久久久久亚洲 | 狠狠色丁香婷婷综合久小说久 | 久久国产精品视频 | 18网站在线观看 | 国产麻豆电影在线观看 | 日韩区在线观看 | 久久人人精| 欧美a在线免费观看 | 日韩免费一区二区 | 超碰官网 | 天天拍天天色 | 国产一区二区在线播放视频 | 丁香婷婷久久久综合精品国产 | 国产精品一区二区久久国产 | 91av99| 手机av在线网站 | 国内精品久久久久 | 亚洲精品国产精品国产 | wwwww.国产| 成人片在线播放 | 五月婷婷色丁香 | 黄色app网站在线观看 | 手机av电影在线观看 | 99久久这里只有精品 | 天天操欧美 | a成人v在线 | 玖玖在线免费视频 | 久久伊人八月婷婷综合激情 | 色黄久久久久久 | 久久精品亚洲国产 | 成年人视频在线免费播放 | 国产亚洲精品久久久久5区 成人h电影在线观看 | 日本性xxxxx 亚洲精品午夜久久久 | 伊人射 | 成人免费在线视频 | 欧美一级电影免费观看 | 久久99在线观看 | 中文字幕在线观看视频一区 | 国产成人精品一区二区在线观看 | 黄色亚洲大片免费在线观看 | 日韩在线观看的 | 欧美精品亚洲精品 | 免费在线观看日韩欧美 | 天天操天天添天天吹 | 色婷婷啪啪免费在线电影观看 | 九九av| 成人九九视频 | 免费av试看 | 久久精品免费看 | 91成人免费| 免费看片日韩 | 久久第四色 | 国产在线传媒 | 91成人免费看 | 国产精品一区二区av日韩在线 | 99久久这里有精品 | 天天撸夜夜操 | 最新一区二区三区 | 波多野结衣电影一区 | 色91av| 久精品在线观看 | 99精品国产福利在线观看免费 | 视频一区二区免费 | 国产亚洲精品久 | 精品久久视频 | 中文字幕91| 国产97色在线 | 在线观看中文字幕网站 | 中国一级片视频 | 亚洲国产三级在线观看 | 在线视频日韩欧美 | 国产精品久久视频 | 一区二区视频欧美 | 91av中文字幕 | 香蕉在线观看视频 | 久久人人97超碰国产公开结果 | 欧美国产精品一区二区 | 久久综合久久综合这里只有精品 | 日本久久久亚洲精品 | 欧美精品三级 | 最近中文字幕免费av | 五月婷婷色| 国产不卡在线观看 | 五月婷婷中文网 | 福利一区二区三区四区 | 国产精品久久久久久久久久东京 | 正在播放日韩 | 三级黄色网络 | 日韩中文字幕亚洲一区二区va在线 | 在线电影91 | 亚洲精品在线观看视频 | 亚洲精品视频在线播放 | 免费看一级片 | 久久国产精品影视 | 成人午夜免费剧场 | 国产3p视频| 国产精品久久久久永久免费 | 不卡的av在线播放 | 色综合久久久 | 婷婷5月激情5月 | 808电影免费观看三年 | 久久综合久久综合久久 | 中文字幕亚洲情99在线 | 亚洲码国产日韩欧美高潮在线播放 | 综合在线色| 亚洲欧美国产日韩在线观看 | 成人黄色免费观看 | 在线高清 | 视色网站 | 亚洲一级黄色片 | 日韩婷婷 | 免费亚洲视频在线观看 | 手机成人在线电影 | 最近更新好看的中文字幕 | 天堂成人在线 | 激情综合啪 | 欧美日韩另类在线 | 久久综合影院 | 成人av在线一区二区 | 亚洲精品国产拍在线 | 在线观看一区二区视频 | 亚洲热久久 | 国产字幕在线播放 | 日韩精品第一区 | 精品999在线观看 | 日韩理论在线视频 | 国产系列在线观看 | 久久亚洲二区 | 国产又粗又猛又爽又黄的视频免费 | 亚洲午夜不卡 | 色射色| 综合色站导航 | 天天夜操| 欧美国产91 | 久久久久精 | 欧美一级视频免费看 | 国产99色 | 日本一区二区三区视频在线播放 | 精品久久久久久一区二区里番 | 成人av午夜 | 福利区在线观看 | www.久草.com| 正在播放日韩 | 免费视频资源 | 性色av一区二区三区在线观看 | 在线电影av | 中文字幕a∨在线乱码免费看 | 91在线视频免费观看 | 国产剧情一区二区在线观看 | 久久69精品久久久久久久电影好 | 久久久精品午夜 | 日韩一级片网址 | 亚州精品在线视频 | 国产精品久久久久一区二区国产 | 97精品国产97久久久久久 | 国产视频九色蝌蚪 | 麻豆免费在线视频 | 亚洲资源| 日本三级久久 | 色婷婷啪啪免费在线电影观看 | 久久久久久久久久亚洲精品 | 久草视频看看 | 欧美坐爱视频 | 国产成人一二三 | 91成人精品一区在线播放 | 午夜电影一区 | 在线 国产 亚洲 欧美 | 日韩大陆欧美高清视频区 | 韩日精品视频 | 在线日韩中文字幕 | 久久夜色电影 | 午夜久久久久久久久久久 | 97视频总站 | 精品久久五月天 | 色婷婷综合久久久中文字幕 | 国产成人a v电影 | 日韩理论电影在线观看 | 91精品爽啪蜜夜国产在线播放 | 黄色在线观看www | 国产小视频免费在线观看 | 亚洲综合一区二区精品导航 | 天海冀一区二区三区 | 天天操天天舔天天干 | 国内精品久久影院 | 中文字幕资源网 国产 | 中文字字幕在线 | 四虎www com | 色诱亚洲精品久久久久久 | 97理论电影 | 欧美一级片在线观看视频 | 久久免费公开视频 | 中文字幕在线视频第一页 | 日韩理论影院 | 亚洲无吗av | 婷婷夜夜 | 91专区在线观看 | 在线观看免费版高清版 | 天天性天天草 | 久久久99精品免费观看 | 午夜电影中文字幕 | 在线视频手机国产 | 国产麻豆视频 | 国产视频一区精品 | 欧美精品小视频 | 亚洲无吗天堂 | 国产视频一区在线免费观看 | 成人免费观看a | 亚洲成人免费在线 | 日韩有码在线观看视频 | 国产免费观看av | 日韩久久一区二区 | 狠狠色丁香 | 一区二区丝袜 | 91激情小视频 | 国内久久久久久 | 五月婷婷综合在线 | 天天操福利视频 | 香蕉久久久久久久 | av黄色亚洲 | 91豆花在线| 天天色综合三 | 久久草草热国产精品直播 | 黄色国产在线 | 69精品视频在线观看 | 欧美夫妻性生活电影 | 天天天天干 | 中文字幕在线观看资源 | 日本中文字幕在线观看 | 99热在 | 国产精品一区二区免费看 | 国产免费久久久久 | 久久露脸国产精品 | 天天插天天干天天操 | 国产高清在线一区 | 黄色成人av | 成人av电影免费 | 美女久久99 | 欧美午夜精品久久久久 | 日韩h在线观看 | 中文字幕在线观看你懂的 | 在线亚洲人成电影网站色www | 亚洲视频在线免费看 | 人人爽人人 | 日韩中文字幕免费 | 亚洲午夜精品电影 | 天天摸天天操天天爽 | 91尤物国产尤物福利在线播放 | 国产手机精品视频 | 国产又粗又猛又色又黄视频 | 激情综合狠狠 | 中文字幕 91| 天天爱综合 | 国产色综合 | 九九色综合 | 欧美日韩精品国产 | 蜜桃麻豆www久久囤产精品 | 国产精品一区欧美 | 国产不卡在线 | 国产看片免费 | 久久免费视频2 | 一区二区三区在线免费 | 亚洲春色综合另类校园电影 | 国产成人精品一区二区在线观看 | 六月丁香综合网 | 国产精品网址在线观看 | 伊香蕉大综综综合久久啪 | 国产高清免费在线播放 | 久草新在线 | 456免费视频 | 在线中文字幕网站 | 天天做天天爱天天综合网 | 在线 影视 一区 | 在线视频亚洲 | 国产成人a亚洲精品 | 久久草在线视频国产 | 久久av网址 | 狠狠五月婷婷 | 精品99久久久久久 | 激情视频免费在线观看 | 欧美日韩在线播放 | 欧美少妇的秘密 | 黄色网在线免费观看 | 久久久亚洲国产精品麻豆综合天堂 | 日韩免费福利 | 天天天天天天天天操 | 国产欧美日韩一区 | 中文字幕在线观看你懂的 | 日日干夜夜草 | 五月天久久婷 | 深夜免费福利在线 | av在线网站大全 | 免费看毛片在线 | 国产在线高清精品 | 亚洲高清国产视频 | 三级午夜片 | 欧美精品久久久久久久久久 | 亚洲精品三级 | 国产又黄又爽又猛视频日本 | 啪啪小视频网站 | 国产成人久久精品亚洲 | 免费中午字幕无吗 | 国产精品嫩草在线 | 成人av网站在线播放 | 精品一区二区久久久久久久网站 | 日韩电影在线看 | 美国av大片 | 玖玖玖在线 | 精品视频在线免费观看 | 日韩欧美视频一区二区三区 | av一区二区三区在线观看 | 日韩av女优视频 | 国产中文视 | 久久99免费观看 | 在线精品视频在线观看高清 | 91亚洲精品久久久久图片蜜桃 | 在线91观看 | 欧美国产大片 | 国产精品免费观看在线 | 久久 亚洲视频 | 日韩高清不卡一区二区三区 | 日韩中文字幕免费 | 97超碰资源| 国产精品不卡 | 日韩大片在线免费观看 | 97超碰资源总站 | 国产免费资源 | 99久国产 | 久久久久国产免费免费 | 成人久久精品视频 | 色综合久久88色综合天天人守婷 | 一区二区精品在线 | 福利av在线 | 天天爱天天操天天射 | 国产黄色精品在线观看 | 97av视频在线观看 | 91一区啪爱嗯打偷拍欧美 | 国产免费av一区二区三区 | 欧美 亚洲 另类 激情 另类 | 欧美日韩亚洲一 | 97小视频 | 免费黄色看片 | 日韩精品中文字幕在线观看 | 最近中文字幕mv免费高清在线 | 日韩三级在线 | 成年人在线免费看片 | 日韩激情在线视频 | 久久国内精品99久久6app | 精品视频123区在线观看 | 国产日韩欧美综合在线 | 欧美国产精品久久久久久免费 | 色在线视频 | 夜夜爽夜夜操 | 成人午夜在线电影 | 成人天堂网 | 久久久在线免费观看 | 国产免费一区二区三区最新 | 亚洲无吗天堂 | 97超碰在线免费观看 | 国产一区二区三区免费视频 | 五月激情六月丁香 | 99r精品视频在线观看 | 玖玖玖在线 | 久久综合五月婷婷 | 国产一级淫片在线观看 | 亚洲欧美一区二区三区孕妇写真 | 日韩理论在线观看 | 国产一线天在线观看 | 国内精品视频久久 | www夜夜| 又湿又紧又大又爽a视频国产 | 中字幕视频在线永久在线观看免费 | av线上看| 麻豆视传媒官网免费观看 | 97超碰免费在线观看 | 极品久久久久久久 | 久久理论电影网 | 成人在线观看日韩 | 国产精品国产自产拍高清av | 五月激情在线 | 免费看的av片 | 日韩一区二区三区视频在线 | 欧美日韩视频在线播放 | 午夜免费电影院 | 国产伦精品一区二区三区高清 | 五月婷婷综合在线 | 国产精品不卡一区 | 国产精品久久久av | 色婷婷电影| 欧美aaa级片 | 亚洲精品免费视频 | 久久久久成人精品亚洲国产 | 免费av 在线 | 国产剧情av在线播放 | 69精品在线观看 | 天天综合色网 | 国产精品一区二区 91 | 日韩av免费在线电影 | 日韩午夜电影网 | 亚洲在线a | 日韩精品一区二 | 手机av在线不卡 | 又爽又黄又无遮挡网站动态图 | 91人人视频在线观看 | 亚洲一区av | 日韩色在线观看 | 天操夜夜操 | 91探花国产综合在线精品 | 日韩欧美高清 | 激情婷婷六月 | 成人午夜在线观看 | 麻豆小视频在线观看 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 天堂v中文 | 99久久9| 国内视频1区 | 96av在线| bbb搡bbb爽爽爽 | 亚洲久草在线 | 激情综合五月婷婷 | 亚洲综合成人婷婷小说 | 久久综合精品一区 | 国产视频在线观看一区二区 | 日韩av影视在线观看 | 欧美激情精品久久 | 亚洲午夜精品久久久久久久久久久久 | 欧美精品第一 | 91成年人视频 | 成人毛片久久 | 亚洲国产美女精品久久久久∴ | 国产精品视频资源 | 99精品系列 | 精品久久久999 | 久久这里只有精品首页 | 国产色秀视频 | 激情综合狠狠 | 久久精品视频免费观看 | 在线观看中文字幕dvd播放 | 日韩一区二区三免费高清在线观看 | 久久99国产精品自在自在app | 在线观看视频亚洲 | 免费成人av在线 | 久久婷婷色 | 最新日韩在线观看视频 | 欧美精品一二三 | 亚洲精品97 | 久久激情五月激情 | 久久国产剧场电影 | 国产麻豆剧传媒免费观看 | 黄色一区二区在线观看 | 久久久国产精华液 | 日韩精品免费一区二区在线观看 | 五月婷婷国产 | 日本性生活一级片 | 500部大龄熟乱视频 欧美日本三级 | 日韩大片在线看 | 成 人 黄 色 视频播放1 | 粉嫩av一区二区三区四区在线观看 | 天天射网站 | 久久久久久网站 | 精品一区二区免费视频 | 国产一二三四在线观看视频 | www.日日日.com | 国产一区二区在线免费播放 | 久久激情视频 久久 | 久久视频精品 | 免费视频a | 人人爽人人干 | 99精品国产在热久久下载 | 欧美日韩中文在线 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 日韩中文字幕免费视频 | 99热这里是精品 | 午夜一级免费电影 | 久久国产成人午夜av影院宅 | 狠狠色丁香婷婷综合久小说久 | av在线免费观看网站 | 精品国产伦一区二区三区观看方式 | 日本午夜免费福利视频 | 91在线色| 麻豆精品传媒视频 | 草久在线播放 | 探花视频在线观看+在线播放 | 亚洲乱码国产乱码精品天美传媒 | 日韩在线网 | 四虎影视国产精品免费久久 | 国产成本人视频在线观看 | 91大神免费视频 | 天天射天天干天天操 | 成人a视频在线观看 | 婷婷色在线观看 | 久久久久看片 | 色综合激情久久 | 日本一区二区免费在线观看 | 最近中文字幕国语免费高清6 | 视频一区二区在线观看 | 天天色天天射天天操 | 亚洲欧美999| 久久久伊人网 | 久久视频免费 | 精品日韩在线一区 | 国产精品久久久久久久久蜜臀 | 人人超在线公开视频 | 久久激情五月丁香伊人 | 午夜精品久久久久久久99无限制 | 天天干夜夜爽 | 黄色精品国产 | 91在线视频播放 | 全黄色一级片 | 亚洲伦理一区二区 | 日韩精品不卡在线观看 | 97av在线 | 成人在线观看日韩 | 日韩视频 一区 | 天天干天天射天天操 | 在线免费观看麻豆 | 美女免费网视频 | 中文字幕在线看视频国产中文版 | 日本丰满少妇免费一区 | 奇米777777| 国精产品满18岁在线 | 黄色精品一区 | 999久久久久久 | 国产在线视频一区二区 | 日韩大片免费观看 | 成人免费视频a | 一区二区三区四区不卡 | 国产日产高清dvd碟片 | av高清一区二区三区 | 亚洲精选99 | 亚洲网站在线看 | 国产亚洲成av片在线观看 | 亚洲天堂网在线播放 | 天天干 天天摸 天天操 | 在线视频欧美亚洲 | 97成人啪啪网 | 97视频在线观看免费 | 亚洲欧洲精品一区 | 九九久| 少妇bbbb搡bbbb搡bbbb | 婷婷丁香狠狠爱 | 西西人体4444www高清视频 | 日韩精品免费一区二区在线观看 | 99久久精品日本一区二区免费 | 欧美精品九九 | 久久手机在线视频 | 欧美日韩视频免费看 | 亚洲国产97在线精品一区 | 国产精品2020 | 九九在线免费视频 | 人人爽人人av | 偷拍久久久 | 五月婷婷在线观看视频 | 精品爱爱| 成年人在线观看视频免费 | 亚洲综合视频在线 | 欧美日韩国产区 | 美女黄频在线观看 | 天天干天天做天天爱 | 国产成人综合图片 | 中文字幕一区二区三区四区视频 | 国产精品入口麻豆 | 在线视频第一页 | 午夜精品一区二区三区在线视频 | 亚洲精品视频在线观看视频 | 97电院网手机版 | 婷婷丁香花五月天 | 91看片在线播放 | 久久深爱网 | 国产91影视 | 在线观看91av | 精品自拍sae8—视频 | 91麻豆精品国产午夜天堂 | 66av99精品福利视频在线 | 91精品啪在线观看国产81旧版 | 97超在线视频 | 日韩黄色免费在线观看 | 免费a网站 | 91福利视频久久久久 | 91网站在线视频 | 成年美女黄网站色大片免费看 | 国产不卡av在线播放 | 区一区二在线 | 黄色软件视频大全免费下载 | 亚州国产精品久久久 | 欧美日本在线视频 | av黄色免费网站 | 在线免费观看视频一区二区三区 | 亚洲乱亚洲乱亚洲 | 深爱婷婷激情 | 久草资源免费 | 黄色www在线观看 | 国产精久久久久久久 | 亚洲精品视频一 | 综合网色 |