国产无遮挡裸体免费直播视频,久久精品国产蜜臀av,动漫在线视频一区二区,欧亚日韩一区二区三区,久艹在线 免费视频,国产精品美女网站免费,正在播放 97超级视频在线观看,斗破苍穹年番在线观看免费,51最新乱码中文字幕

spring boot+spring cache實(shí)現(xiàn)兩級(jí)緩存(redis+caffeine)

 更新時(shí)間:2018年02月27日 13:43:41   作者:J猿  
這篇文章主要介紹了spring boot+spring cache實(shí)現(xiàn)兩級(jí)緩存(redis+caffeine),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

spring boot中集成了spring cache,并有多種緩存方式的實(shí)現(xiàn),如:Redis、Caffeine、JCache、EhCache等等。但如果只用一種緩存,要么會(huì)有較大的網(wǎng)絡(luò)消耗(如Redis),要么就是內(nèi)存占用太大(如Caffeine這種應(yīng)用內(nèi)存緩存)。在很多場(chǎng)景下,可以結(jié)合起來實(shí)現(xiàn)一、二級(jí)緩存的方式,能夠很大程度提高應(yīng)用的處理效率。

內(nèi)容說明:

  1. 緩存、兩級(jí)緩存
  2. spring cache:主要包含spring cache定義的接口方法說明和注解中的屬性說明
  3. spring boot + spring cache:RedisCache實(shí)現(xiàn)中的缺陷
  4. caffeine簡(jiǎn)介
  5. spring boot + spring cache 實(shí)現(xiàn)兩級(jí)緩存(redis + caffeine)

緩存、兩級(jí)緩存

簡(jiǎn)單的理解,緩存就是將數(shù)據(jù)從讀取較慢的介質(zhì)上讀取出來放到讀取較快的介質(zhì)上,如磁盤-->內(nèi)存。平時(shí)我們會(huì)將數(shù)據(jù)存儲(chǔ)到磁盤上,如:數(shù)據(jù)庫。如果每次都從數(shù)據(jù)庫里去讀取,會(huì)因?yàn)榇疟P本身的IO影響讀取速度,所以就有了像redis這種的內(nèi)存緩存??梢詫?shù)據(jù)讀取出來放到內(nèi)存里,這樣當(dāng)需要獲取數(shù)據(jù)時(shí),就能夠直接從內(nèi)存中拿到數(shù)據(jù)返回,能夠很大程度的提高速度。但是一般redis是單獨(dú)部署成集群,所以會(huì)有網(wǎng)絡(luò)IO上的消耗,雖然與redis集群的鏈接已經(jīng)有連接池這種工具,但是數(shù)據(jù)傳輸上也還是會(huì)有一定消耗。所以就有了應(yīng)用內(nèi)緩存,如:caffeine。當(dāng)應(yīng)用內(nèi)緩存有符合條件的數(shù)據(jù)時(shí),就可以直接使用,而不用通過網(wǎng)絡(luò)到redis中去獲取,這樣就形成了兩級(jí)緩存。應(yīng)用內(nèi)緩存叫做一級(jí)緩存,遠(yuǎn)程緩存(如redis)叫做二級(jí)緩存

spring cache

當(dāng)使用緩存的時(shí)候,一般是如下的流程:

從流程圖中可以看出,為了使用緩存,在原有業(yè)務(wù)處理的基礎(chǔ)上,增加了很多對(duì)于緩存的操作,如果將這些耦合到業(yè)務(wù)代碼當(dāng)中,開發(fā)起來就有很多重復(fù)性的工作,并且不太利于根據(jù)代碼去理解業(yè)務(wù)。

spring cache是spring-context包中提供的基于注解方式使用的緩存組件,定義了一些標(biāo)準(zhǔn)接口,通過實(shí)現(xiàn)這些接口,就可以通過在方法上增加注解來實(shí)現(xiàn)緩存。這樣就能夠避免緩存代碼與業(yè)務(wù)處理耦合在一起的問題。spring cache的實(shí)現(xiàn)是使用spring aop中對(duì)方法切面(MethodInterceptor)封裝的擴(kuò)展,當(dāng)然spring aop也是基于Aspect來實(shí)現(xiàn)的。

spring cache核心的接口就兩個(gè):Cache和CacheManager

Cache接口

提供緩存的具體操作,比如緩存的放入、讀取、清理,spring框架中默認(rèn)提供的實(shí)現(xiàn)有:

除了RedisCache是在spring-data-redis包中,其他的基本都是在spring-context-support包中

#Cache.java

package org.springframework.cache;

import java.util.concurrent.Callable;

public interface Cache {

 // cacheName,緩存的名字,默認(rèn)實(shí)現(xiàn)中一般是CacheManager創(chuàng)建Cache的bean時(shí)傳入cacheName
 String getName();

 // 獲取實(shí)際使用的緩存,如:RedisTemplate、com.github.benmanes.caffeine.cache.Cache<Object, Object>。暫時(shí)沒發(fā)現(xiàn)實(shí)際用處,可能只是提供獲取原生緩存的bean,以便需要擴(kuò)展一些緩存操作或統(tǒng)計(jì)之類的東西
 Object getNativeCache();

 // 通過key獲取緩存值,注意返回的是ValueWrapper,為了兼容存儲(chǔ)空值的情況,將返回值包裝了一層,通過get方法獲取實(shí)際值
 ValueWrapper get(Object key);

 // 通過key獲取緩存值,返回的是實(shí)際值,即方法的返回值類型
 <T> T get(Object key, Class<T> type);

 // 通過key獲取緩存值,可以使用valueLoader.call()來調(diào)使用@Cacheable注解的方法。當(dāng)@Cacheable注解的sync屬性配置為true時(shí)使用此方法。因此方法內(nèi)需要保證回源到數(shù)據(jù)庫的同步性。避免在緩存失效時(shí)大量請(qǐng)求回源到數(shù)據(jù)庫
 <T> T get(Object key, Callable<T> valueLoader);

 // 將@Cacheable注解方法返回的數(shù)據(jù)放入緩存中
 void put(Object key, Object value);

 // 當(dāng)緩存中不存在key時(shí)才放入緩存。返回值是當(dāng)key存在時(shí)原有的數(shù)據(jù)
 ValueWrapper putIfAbsent(Object key, Object value);

 // 刪除緩存
 void evict(Object key);

 // 刪除緩存中的所有數(shù)據(jù)。需要注意的是,具體實(shí)現(xiàn)中只刪除使用@Cacheable注解緩存的所有數(shù)據(jù),不要影響應(yīng)用內(nèi)的其他緩存
 void clear();

 // 緩存返回值的包裝
 interface ValueWrapper {

 // 返回實(shí)際緩存的對(duì)象
 Object get();
 }

 // 當(dāng){@link #get(Object, Callable)}拋出異常時(shí),會(huì)包裝成此異常拋出
 @SuppressWarnings("serial")
 class ValueRetrievalException extends RuntimeException {

 private final Object key;

 public ValueRetrievalException(Object key, Callable<?> loader, Throwable ex) {
  super(String.format("Value for key '%s' could not be loaded using '%s'", key, loader), ex);
  this.key = key;
 }

 public Object getKey() {
  return this.key;
 }
 }
}

CacheManager接口

主要提供Cache實(shí)現(xiàn)bean的創(chuàng)建,每個(gè)應(yīng)用里可以通過cacheName來對(duì)Cache進(jìn)行隔離,每個(gè)cacheName對(duì)應(yīng)一個(gè)Cache實(shí)現(xiàn)。spring框架中默認(rèn)提供的實(shí)現(xiàn)與Cache的實(shí)現(xiàn)都是成對(duì)出現(xiàn),包結(jié)構(gòu)也在上圖中

#CacheManager.java

package org.springframework.cache;

import java.util.Collection;

public interface CacheManager {

 // 通過cacheName創(chuàng)建Cache的實(shí)現(xiàn)bean,具體實(shí)現(xiàn)中需要存儲(chǔ)已創(chuàng)建的Cache實(shí)現(xiàn)bean,避免重復(fù)創(chuàng)建,也避免內(nèi)存緩存對(duì)象(如Caffeine)重新創(chuàng)建后原來緩存內(nèi)容丟失的情況
 Cache getCache(String name);

 // 返回所有的cacheName
 Collection<String> getCacheNames();
}

常用注解說明

@Cacheable:主要應(yīng)用到查詢數(shù)據(jù)的方法上

package org.springframework.cache.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.util.concurrent.Callable;
import org.springframework.core.annotation.AliasFor;
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface Cacheable {
    // cacheNames,CacheManager就是通過這個(gè)名稱創(chuàng)建對(duì)應(yīng)的Cache實(shí)現(xiàn)bean
 @AliasFor("cacheNames")
 String[] value() default {};

 @AliasFor("value")
 String[] cacheNames() default {};

    // 緩存的key,支持SpEL表達(dá)式。默認(rèn)是使用所有參數(shù)及其計(jì)算的hashCode包裝后的對(duì)象(SimpleKey)
 String key() default "";

 // 緩存key生成器,默認(rèn)實(shí)現(xiàn)是SimpleKeyGenerator
 String keyGenerator() default "";

 // 指定使用哪個(gè)CacheManager
 String cacheManager() default "";

 // 緩存解析器
 String cacheResolver() default "";

 // 緩存的條件,支持SpEL表達(dá)式,當(dāng)達(dá)到滿足的條件時(shí)才緩存數(shù)據(jù)。在調(diào)用方法前后都會(huì)判斷
 String condition() default "";
    
    // 滿足條件時(shí)不更新緩存,支持SpEL表達(dá)式,只在調(diào)用方法后判斷
 String unless() default "";

 // 回源到實(shí)際方法獲取數(shù)據(jù)時(shí),是否要保持同步,如果為false,調(diào)用的是Cache.get(key)方法;如果為true,調(diào)用的是Cache.get(key, Callable)方法
 boolean sync() default false;
}

@CacheEvict:清除緩存,主要應(yīng)用到刪除數(shù)據(jù)的方法上。相比Cacheable多了兩個(gè)屬性

package org.springframework.cache.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.springframework.core.annotation.AliasFor;
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface CacheEvict {
    // ...相同屬性說明請(qǐng)參考@Cacheable中的說明

 // 是否要清除所有緩存的數(shù)據(jù),為false時(shí)調(diào)用的是Cache.evict(key)方法;為true時(shí)調(diào)用的是Cache.clear()方法
 boolean allEntries() default false;

 // 調(diào)用方法之前或之后清除緩存
 boolean beforeInvocation() default false;
}

  1. @CachePut:放入緩存,主要用到對(duì)數(shù)據(jù)有更新的方法上。屬性說明參考@Cacheable
  2. @Caching:用于在一個(gè)方法上配置多種注解
  3. @EnableCaching:?jiǎn)⒂胹pring cache緩存,作為總的開關(guān),在spring boot的啟動(dòng)類或配置類上需要加上此注解才會(huì)生效

spring boot + spring cache

spring boot中已經(jīng)整合了spring cache,并且提供了多種緩存的配置,在使用時(shí)只需要配置使用哪個(gè)緩存(enum CacheType)即可。

spring boot中多增加了一個(gè)可以擴(kuò)展的東西,就是CacheManagerCustomizer接口,可以自定義實(shí)現(xiàn)這個(gè)接口,然后對(duì)CacheManager做一些設(shè)置,比如:

package com.itopener.demo.cache.redis.config;

import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

import org.springframework.boot.autoconfigure.cache.CacheManagerCustomizer;
import org.springframework.data.redis.cache.RedisCacheManager;

public class RedisCacheManagerCustomizer implements CacheManagerCustomizer<RedisCacheManager> {

 @Override
 public void customize(RedisCacheManager cacheManager) {
 // 默認(rèn)過期時(shí)間,單位秒
 cacheManager.setDefaultExpiration(1000);
 cacheManager.setUsePrefix(false);
 Map<String, Long> expires = new ConcurrentHashMap<String, Long>();
 expires.put("userIdCache", 2000L);
 cacheManager.setExpires(expires);
 }

}

加載這個(gè)bean:

package com.itopener.demo.cache.redis.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @author fuwei.deng
 * @date 2017年12月22日 上午10:24:54
 * @version 1.0.0
 */
@Configuration
public class CacheRedisConfiguration {
 
 @Bean
 public RedisCacheManagerCustomizer redisCacheManagerCustomizer() {
 return new RedisCacheManagerCustomizer();
 }
}

常用的緩存就是Redis了,Redis對(duì)于spring cache接口的實(shí)現(xiàn)是在spring-data-redis包中

這里提下我認(rèn)為的RedisCache實(shí)現(xiàn)中的缺陷:

1.在緩存失效的瞬間,如果有線程獲取緩存數(shù)據(jù),可能出現(xiàn)返回null的情況,原因是RedisCache實(shí)現(xiàn)中是如下步驟:

  1. 判斷緩存key是否存在
  2. 如果key存在,再獲取緩存數(shù)據(jù),并返回

因此當(dāng)判斷key存在后緩存失效了,再去獲取緩存是沒有數(shù)據(jù)的,就返回null了。

2.RedisCacheManager中是否允許存儲(chǔ)空值的屬性(cacheNullValues)默認(rèn)為false,即不允許存儲(chǔ)空值,這樣會(huì)存在緩存穿透的風(fēng)險(xiǎn)。缺陷是這個(gè)屬性是final類型的,只能在創(chuàng)建對(duì)象是通過構(gòu)造方法傳入,所以要避免緩存穿透就只能自己在應(yīng)用內(nèi)聲明RedisCacheManager這個(gè)bean了

3.RedisCacheManager中的屬性無法通過配置文件直接配置,只能在應(yīng)用內(nèi)實(shí)現(xiàn)CacheManagerCustomizer接口來進(jìn)行設(shè)置,個(gè)人認(rèn)為不太方便

Caffeine

Caffeine是一個(gè)基于Google開源的Guava設(shè)計(jì)理念的一個(gè)高性能內(nèi)存緩存,使用java8開發(fā),spring boot引入Caffeine后已經(jīng)逐步廢棄Guava的整合了。Caffeine源碼及介紹地址:caffeine

caffeine提供了多種緩存填充策略、值回收策略,同時(shí)也包含了緩存命中次數(shù)等統(tǒng)計(jì)數(shù)據(jù),對(duì)緩存的優(yōu)化能夠提供很大幫助

caffeine的介紹可以參考:http://dhdzp.com/article/134242.htm

這里簡(jiǎn)單說下caffeine基于時(shí)間的回收策略有以下幾種:

  1. expireAfterAccess:訪問后到期,從上次讀或?qū)懓l(fā)生后的過期時(shí)間
  2. expireAfterWrite:寫入后到期,從上次寫入發(fā)生之后的過期時(shí)間
  3. 自定義策略:到期時(shí)間由實(shí)現(xiàn)Expiry接口后單獨(dú)計(jì)算

spring boot + spring cache 實(shí)現(xiàn)兩級(jí)緩存(redis + caffeine)

本人開頭提到了,就算是使用了redis緩存,也會(huì)存在一定程度的網(wǎng)絡(luò)傳輸上的消耗,在實(shí)際應(yīng)用當(dāng)中,會(huì)存在一些變更頻率非常低的數(shù)據(jù),就可以直接緩存在應(yīng)用內(nèi)部,對(duì)于一些實(shí)時(shí)性要求不太高的數(shù)據(jù),也可以在應(yīng)用內(nèi)部緩存一定時(shí)間,減少對(duì)redis的訪問,提高響應(yīng)速度

由于spring-data-redis框架中redis對(duì)spring cache的實(shí)現(xiàn)有一些不足,在使用起來可能會(huì)出現(xiàn)一些問題,所以就不基于原來的實(shí)現(xiàn)去擴(kuò)展了,直接參考實(shí)現(xiàn)方式,去實(shí)現(xiàn)Cache和CacheManager接口

還需要注意一點(diǎn),一般應(yīng)用都部署了多個(gè)節(jié)點(diǎn),一級(jí)緩存是在應(yīng)用內(nèi)的緩存,所以當(dāng)對(duì)數(shù)據(jù)更新和清除時(shí),需要通知所有節(jié)點(diǎn)進(jìn)行清理緩存的操作。可以有多種方式來實(shí)現(xiàn)這種效果,比如:zookeeper、MQ等,但是既然用了redis緩存,redis本身是有支持訂閱/發(fā)布功能的,所以就不依賴其他組件了,直接使用redis的通道來通知其他節(jié)點(diǎn)進(jìn)行清理緩存的操作

以下就是對(duì)spring boot + spring cache實(shí)現(xiàn)兩級(jí)緩存(redis + caffeine)的starter封裝步驟和源碼

定義properties配置屬性類

package com.itopener.cache.redis.caffeine.spring.boot.autoconfigure;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import org.springframework.boot.context.properties.ConfigurationProperties;
/** 
 * @author fuwei.deng
 * @date 2018年1月29日 上午11:32:15
 * @version 1.0.0
 */
@ConfigurationProperties(prefix = "spring.cache.multi")
public class CacheRedisCaffeineProperties { 
 private Set<String> cacheNames = new HashSet<>(); 
 /** 是否存儲(chǔ)空值,默認(rèn)true,防止緩存穿透*/
 private boolean cacheNullValues = true; 
 /** 是否動(dòng)態(tài)根據(jù)cacheName創(chuàng)建Cache的實(shí)現(xiàn),默認(rèn)true*/
 private boolean dynamic = true;
 
 /** 緩存key的前綴*/
 private String cachePrefix; 
 private Redis redis = new Redis(); 
 private Caffeine caffeine = new Caffeine();
 public class Redis { 
 /** 全局過期時(shí)間,單位毫秒,默認(rèn)不過期*/
 private long defaultExpiration = 0;
 
 /** 每個(gè)cacheName的過期時(shí)間,單位毫秒,優(yōu)先級(jí)比defaultExpiration高*/
 private Map<String, Long> expires = new HashMap<>();
 
 /** 緩存更新時(shí)通知其他節(jié)點(diǎn)的topic名稱*/
 private String topic = "cache:redis:caffeine:topic";

 public long getDefaultExpiration() {
  return defaultExpiration;
 }

 public void setDefaultExpiration(long defaultExpiration) {
  this.defaultExpiration = defaultExpiration;
 }

 public Map<String, Long> getExpires() {
  return expires;
 }

 public void setExpires(Map<String, Long> expires) {
  this.expires = expires;
 }

 public String getTopic() {
  return topic;
 }

 public void setTopic(String topic) {
  this.topic = topic;
 }
 
 }
 
 public class Caffeine { 
 /** 訪問后過期時(shí)間,單位毫秒*/
 private long expireAfterAccess;
 
 /** 寫入后過期時(shí)間,單位毫秒*/
 private long expireAfterWrite;
 
 /** 寫入后刷新時(shí)間,單位毫秒*/
 private long refreshAfterWrite;
 
 /** 初始化大小*/
 private int initialCapacity;
 
 /** 最大緩存對(duì)象個(gè)數(shù),超過此數(shù)量時(shí)之前放入的緩存將失效*/
 private long maximumSize;
 
 /** 由于權(quán)重需要緩存對(duì)象來提供,對(duì)于使用spring cache這種場(chǎng)景不是很適合,所以暫不支持配置*/
// private long maximumWeight;
 
 public long getExpireAfterAccess() {
  return expireAfterAccess;
 }

 public void setExpireAfterAccess(long expireAfterAccess) {
  this.expireAfterAccess = expireAfterAccess;
 }

 public long getExpireAfterWrite() {
  return expireAfterWrite;
 }

 public void setExpireAfterWrite(long expireAfterWrite) {
  this.expireAfterWrite = expireAfterWrite;
 }

 public long getRefreshAfterWrite() {
  return refreshAfterWrite;
 }

 public void setRefreshAfterWrite(long refreshAfterWrite) {
  this.refreshAfterWrite = refreshAfterWrite;
 }

 public int getInitialCapacity() {
  return initialCapacity;
 }

 public void setInitialCapacity(int initialCapacity) {
  this.initialCapacity = initialCapacity;
 }

 public long getMaximumSize() {
  return maximumSize;
 }

 public void setMaximumSize(long maximumSize) {
  this.maximumSize = maximumSize;
 }
 }

 public Set<String> getCacheNames() {
 return cacheNames;
 }

 public void setCacheNames(Set<String> cacheNames) {
 this.cacheNames = cacheNames;
 }

 public boolean isCacheNullValues() {
 return cacheNullValues;
 }

 public void setCacheNullValues(boolean cacheNullValues) {
 this.cacheNullValues = cacheNullValues;
 }

 public boolean isDynamic() {
 return dynamic;
 }

 public void setDynamic(boolean dynamic) {
 this.dynamic = dynamic;
 }

 public String getCachePrefix() {
 return cachePrefix;
 }

 public void setCachePrefix(String cachePrefix) {
 this.cachePrefix = cachePrefix;
 }

 public Redis getRedis() {
 return redis;
 }

 public void setRedis(Redis redis) {
 this.redis = redis;
 }

 public Caffeine getCaffeine() {
 return caffeine;
 }

 public void setCaffeine(Caffeine caffeine) {
 this.caffeine = caffeine;
 }
}

spring cache中有實(shí)現(xiàn)Cache接口的一個(gè)抽象類AbstractValueAdaptingCache,包含了空值的包裝和緩存值的包裝,所以就不用實(shí)現(xiàn)Cache接口了,直接實(shí)現(xiàn)AbstractValueAdaptingCache抽象類

package com.itopener.cache.redis.caffeine.spring.boot.autoconfigure.support;
import java.lang.reflect.Constructor;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.Callable;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.ReentrantLock;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cache.support.AbstractValueAdaptingCache;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.util.StringUtils;
import com.github.benmanes.caffeine.cache.Cache;
import com.itopener.cache.redis.caffeine.spring.boot.autoconfigure.CacheRedisCaffeineProperties;

/**
 * @author fuwei.deng
 * @date 2018年1月26日 下午5:24:11
 * @version 1.0.0
 */
public class RedisCaffeineCache extends AbstractValueAdaptingCache { 
 private final Logger logger = LoggerFactory.getLogger(RedisCaffeineCache.class);
 private String name;
 private RedisTemplate<Object, Object> redisTemplate;
 private Cache<Object, Object> caffeineCache;
 private String cachePrefix;
 private long defaultExpiration = 0;
 private Map<String, Long> expires;
 private String topic = "cache:redis:caffeine:topic"; 
 protected RedisCaffeineCache(boolean allowNullValues) {
 super(allowNullValues);
 }
 
 public RedisCaffeineCache(String name, RedisTemplate<Object, Object> redisTemplate, Cache<Object, Object> caffeineCache, CacheRedisCaffeineProperties cacheRedisCaffeineProperties) {
 super(cacheRedisCaffeineProperties.isCacheNullValues());
 this.name = name;
 this.redisTemplate = redisTemplate;
 this.caffeineCache = caffeineCache;
 this.cachePrefix = cacheRedisCaffeineProperties.getCachePrefix();
 this.defaultExpiration = cacheRedisCaffeineProperties.getRedis().getDefaultExpiration();
 this.expires = cacheRedisCaffeineProperties.getRedis().getExpires();
 this.topic = cacheRedisCaffeineProperties.getRedis().getTopic();
 }

 @Override
 public String getName() {
 return this.name;
 }

 @Override
 public Object getNativeCache() {
 return this;
 }

 @SuppressWarnings("unchecked")
 @Override
 public <T> T get(Object key, Callable<T> valueLoader) {
 Object value = lookup(key);
 if(value != null) {
  return (T) value;
 }
 
 ReentrantLock lock = new ReentrantLock();
 try {
  lock.lock();
  value = lookup(key);
  if(value != null) {
  return (T) value;
  }
  value = valueLoader.call();
  Object storeValue = toStoreValue(valueLoader.call());
  put(key, storeValue);
  return (T) value;
 } catch (Exception e) {
  try {
        Class<?> c = Class.forName("org.springframework.cache.Cache$ValueRetrievalException");
        Constructor<?> constructor = c.getConstructor(Object.class, Callable.class, Throwable.class);
        RuntimeException exception = (RuntimeException) constructor.newInstance(key, valueLoader, e.getCause());
        throw exception;        
      } catch (Exception e1) {
        throw new IllegalStateException(e1);
      }
 } finally {
  lock.unlock();
 }
 }

 @Override
 public void put(Object key, Object value) {
 if (!super.isAllowNullValues() && value == null) {
  this.evict(key);
      return;
    }
 long expire = getExpire();
 if(expire > 0) {
  redisTemplate.opsForValue().set(getKey(key), toStoreValue(value), expire, TimeUnit.MILLISECONDS);
 } else {
  redisTemplate.opsForValue().set(getKey(key), toStoreValue(value));
 }
 
 push(new CacheMessage(this.name, key));
 
 caffeineCache.put(key, value);
 }

 @Override
 public ValueWrapper putIfAbsent(Object key, Object value) {
 Object cacheKey = getKey(key);
 Object prevValue = null;
 // 考慮使用分布式鎖,或者將redis的setIfAbsent改為原子性操作
 synchronized (key) {
  prevValue = redisTemplate.opsForValue().get(cacheKey);
  if(prevValue == null) {
  long expire = getExpire();
  if(expire > 0) {
   redisTemplate.opsForValue().set(getKey(key), toStoreValue(value), expire, TimeUnit.MILLISECONDS);
  } else {
   redisTemplate.opsForValue().set(getKey(key), toStoreValue(value));
  }
  
  push(new CacheMessage(this.name, key));
  
  caffeineCache.put(key, toStoreValue(value));
  }
 }
 return toValueWrapper(prevValue);
 }

 @Override
 public void evict(Object key) {
 // 先清除redis中緩存數(shù)據(jù),然后清除caffeine中的緩存,避免短時(shí)間內(nèi)如果先清除caffeine緩存后其他請(qǐng)求會(huì)再從redis里加載到caffeine中
 redisTemplate.delete(getKey(key));
 
 push(new CacheMessage(this.name, key));
 
 caffeineCache.invalidate(key);
 }

 @Override
 public void clear() {
 // 先清除redis中緩存數(shù)據(jù),然后清除caffeine中的緩存,避免短時(shí)間內(nèi)如果先清除caffeine緩存后其他請(qǐng)求會(huì)再從redis里加載到caffeine中
 Set<Object> keys = redisTemplate.keys(this.name.concat(":"));
 for(Object key : keys) {
  redisTemplate.delete(key);
 }
 
 push(new CacheMessage(this.name, null));
 
 caffeineCache.invalidateAll();
 }

 @Override
 protected Object lookup(Object key) {
 Object cacheKey = getKey(key);
 Object value = caffeineCache.getIfPresent(key);
 if(value != null) {
  logger.debug("get cache from caffeine, the key is : {}", cacheKey);
  return value;
 }
 
 value = redisTemplate.opsForValue().get(cacheKey);
 
 if(value != null) {
  logger.debug("get cache from redis and put in caffeine, the key is : {}", cacheKey);
  caffeineCache.put(key, value);
 }
 return value;
 }

 private Object getKey(Object key) {
 return this.name.concat(":").concat(StringUtils.isEmpty(cachePrefix) ? key.toString() : cachePrefix.concat(":").concat(key.toString()));
 }
 
 private long getExpire() {
 long expire = defaultExpiration;
 Long cacheNameExpire = expires.get(this.name);
 return cacheNameExpire == null ? expire : cacheNameExpire.longValue();
 }
 
 /**
 * @description 緩存變更時(shí)通知其他節(jié)點(diǎn)清理本地緩存
 * @author fuwei.deng
 * @date 2018年1月31日 下午3:20:28
 * @version 1.0.0
 * @param message
 */
 private void push(CacheMessage message) {
 redisTemplate.convertAndSend(topic, message);
 }
 
 /**
 * @description 清理本地緩存
 * @author fuwei.deng
 * @date 2018年1月31日 下午3:15:39
 * @version 1.0.0
 * @param key
 */
 public void clearLocal(Object key) {
 logger.debug("clear local cache, the key is : {}", key);
 if(key == null) {
  caffeineCache.invalidateAll();
 } else {
  caffeineCache.invalidate(key);
 }
 }
}

實(shí)現(xiàn)CacheManager接口

package com.itopener.cache.redis.caffeine.spring.boot.autoconfigure.support;

import java.util.Collection;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.TimeUnit;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cache.Cache;
import org.springframework.cache.CacheManager;
import org.springframework.data.redis.core.RedisTemplate;

import com.github.benmanes.caffeine.cache.Caffeine;
import com.itopener.cache.redis.caffeine.spring.boot.autoconfigure.CacheRedisCaffeineProperties;

/**
 * @author fuwei.deng
 * @date 2018年1月26日 下午5:24:52
 * @version 1.0.0
 */
public class RedisCaffeineCacheManager implements CacheManager {
 
 private final Logger logger = LoggerFactory.getLogger(RedisCaffeineCacheManager.class);
 
 private ConcurrentMap<String, Cache> cacheMap = new ConcurrentHashMap<String, Cache>();
 
 private CacheRedisCaffeineProperties cacheRedisCaffeineProperties;
 
 private RedisTemplate<Object, Object> redisTemplate;

 private boolean dynamic = true;

 private Set<String> cacheNames;

 public RedisCaffeineCacheManager(CacheRedisCaffeineProperties cacheRedisCaffeineProperties,
  RedisTemplate<Object, Object> redisTemplate) {
 super();
 this.cacheRedisCaffeineProperties = cacheRedisCaffeineProperties;
 this.redisTemplate = redisTemplate;
 this.dynamic = cacheRedisCaffeineProperties.isDynamic();
 this.cacheNames = cacheRedisCaffeineProperties.getCacheNames();
 }

 @Override
 public Cache getCache(String name) {
 Cache cache = cacheMap.get(name);
 if(cache != null) {
  return cache;
 }
 if(!dynamic && !cacheNames.contains(name)) {
  return cache;
 }
 
 cache = new RedisCaffeineCache(name, redisTemplate, caffeineCache(), cacheRedisCaffeineProperties);
 Cache oldCache = cacheMap.putIfAbsent(name, cache);
 logger.debug("create cache instance, the cache name is : {}", name);
 return oldCache == null ? cache : oldCache;
 }
 
 public com.github.benmanes.caffeine.cache.Cache<Object, Object> caffeineCache(){
 Caffeine<Object, Object> cacheBuilder = Caffeine.newBuilder();
 if(cacheRedisCaffeineProperties.getCaffeine().getExpireAfterAccess() > 0) {
  cacheBuilder.expireAfterAccess(cacheRedisCaffeineProperties.getCaffeine().getExpireAfterAccess(), TimeUnit.MILLISECONDS);
 }
 if(cacheRedisCaffeineProperties.getCaffeine().getExpireAfterWrite() > 0) {
  cacheBuilder.expireAfterWrite(cacheRedisCaffeineProperties.getCaffeine().getExpireAfterWrite(), TimeUnit.MILLISECONDS);
 }
 if(cacheRedisCaffeineProperties.getCaffeine().getInitialCapacity() > 0) {
  cacheBuilder.initialCapacity(cacheRedisCaffeineProperties.getCaffeine().getInitialCapacity());
 }
 if(cacheRedisCaffeineProperties.getCaffeine().getMaximumSize() > 0) {
  cacheBuilder.maximumSize(cacheRedisCaffeineProperties.getCaffeine().getMaximumSize());
 }
 if(cacheRedisCaffeineProperties.getCaffeine().getRefreshAfterWrite() > 0) {
  cacheBuilder.refreshAfterWrite(cacheRedisCaffeineProperties.getCaffeine().getRefreshAfterWrite(), TimeUnit.MILLISECONDS);
 }
 return cacheBuilder.build();
 }

 @Override
 public Collection<String> getCacheNames() {
 return this.cacheNames;
 }
 
 public void clearLocal(String cacheName, Object key) {
 Cache cache = cacheMap.get(cacheName);
 if(cache == null) {
  return ;
 }
 
 RedisCaffeineCache redisCaffeineCache = (RedisCaffeineCache) cache;
 redisCaffeineCache.clearLocal(key);
 }
}

redis消息發(fā)布/訂閱,傳輸?shù)南㈩?br />

package com.itopener.cache.redis.caffeine.spring.boot.autoconfigure.support;
import java.io.Serializable;

/** 
 * @author fuwei.deng
 * @date 2018年1月29日 下午1:31:17
 * @version 1.0.0
 */
public class CacheMessage implements Serializable {

 /** */
 private static final long serialVersionUID = 5987219310442078193L;

 private String cacheName; 
 private Object key;
 public CacheMessage(String cacheName, Object key) {
 super();
 this.cacheName = cacheName;
 this.key = key;
 }

 public String getCacheName() {
 return cacheName;
 }

 public void setCacheName(String cacheName) {
 this.cacheName = cacheName;
 }

 public Object getKey() {
 return key;
 }

 public void setKey(Object key) {
 this.key = key;
 }
}

監(jiān)聽redis消息需要實(shí)現(xiàn)MessageListener接口

package com.itopener.cache.redis.caffeine.spring.boot.autoconfigure.support;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.data.redis.connection.Message;
import org.springframework.data.redis.connection.MessageListener;
import org.springframework.data.redis.core.RedisTemplate;
/** 
 * @author fuwei.deng
 * @date 2018年1月30日 下午5:22:33
 * @version 1.0.0
 */
public class CacheMessageListener implements MessageListener { 
 private final Logger logger = LoggerFactory.getLogger(CacheMessageListener.class);
 private RedisTemplate<Object, Object> redisTemplate;
 private RedisCaffeineCacheManager redisCaffeineCacheManager;
 public CacheMessageListener(RedisTemplate<Object, Object> redisTemplate,
  RedisCaffeineCacheManager redisCaffeineCacheManager) {
 super();
 this.redisTemplate = redisTemplate;
 this.redisCaffeineCacheManager = redisCaffeineCacheManager;
 }

 @Override
 public void onMessage(Message message, byte[] pattern) {
 CacheMessage cacheMessage = (CacheMessage) redisTemplate.getValueSerializer().deserialize(message.getBody());
 logger.debug("recevice a redis topic message, clear local cache, the cacheName is {}, the key is {}", cacheMessage.getCacheName(), cacheMessage.getKey());
 redisCaffeineCacheManager.clearLocal(cacheMessage.getCacheName(), cacheMessage.getKey());
 }
}

增加spring boot配置類

package com.itopener.cache.redis.caffeine.spring.boot.autoconfigure;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.listener.ChannelTopic;
import org.springframework.data.redis.listener.RedisMessageListenerContainer;
import com.itopener.cache.redis.caffeine.spring.boot.autoconfigure.support.CacheMessageListener;
import com.itopener.cache.redis.caffeine.spring.boot.autoconfigure.support.RedisCaffeineCacheManager;
/** 
 * @author fuwei.deng
 * @date 2018年1月26日 下午5:23:03
 * @version 1.0.0
 */
@Configuration
@AutoConfigureAfter(RedisAutoConfiguration.class)
@EnableConfigurationProperties(CacheRedisCaffeineProperties.class)
public class CacheRedisCaffeineAutoConfiguration {
 
 @Autowired
 private CacheRedisCaffeineProperties cacheRedisCaffeineProperties;
 
 @Bean
 @ConditionalOnBean(RedisTemplate.class)
 public RedisCaffeineCacheManager cacheManager(RedisTemplate<Object, Object> redisTemplate) {
 return new RedisCaffeineCacheManager(cacheRedisCaffeineProperties, redisTemplate);
 }
 
 @Bean
 public RedisMessageListenerContainer redisMessageListenerContainer(RedisTemplate<Object, Object> redisTemplate, 
  RedisCaffeineCacheManager redisCaffeineCacheManager) {
 RedisMessageListenerContainer redisMessageListenerContainer = new RedisMessageListenerContainer();
 redisMessageListenerContainer.setConnectionFactory(redisTemplate.getConnectionFactory());
 CacheMessageListener cacheMessageListener = new CacheMessageListener(redisTemplate, redisCaffeineCacheManager);
 redisMessageListenerContainer.addMessageListener(cacheMessageListener, new ChannelTopic(cacheRedisCaffeineProperties.getRedis().getTopic()));
 return redisMessageListenerContainer;
 }
}

在resources/META-INF/spring.factories文件中增加spring boot配置掃描

# Auto Configure
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.itopener.cache.redis.caffeine.spring.boot.autoconfigure.CacheRedisCaffeineAutoConfiguration

接下來就可以使用maven引入使用了

<dependency>
  <groupId>com.itopener</groupId>
  <artifactId>cache-redis-caffeine-spring-boot-starter</artifactId>
  <version>1.0.0-SNAPSHOT</version>
  <type>pom</type>
</dependency>

在啟動(dòng)類上增加@EnableCaching注解,在需要緩存的方法上增加@Cacheable注解

package com.itopener.demo.cache.redis.caffeine.service;
import java.util.Random;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.CachePut;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import com.itopener.demo.cache.redis.caffeine.vo.UserVO;
import com.itopener.utils.TimestampUtil;

@Service
public class CacheRedisCaffeineService {
 
 private final Logger logger = LoggerFactory.getLogger(CacheRedisCaffeineService.class);

 @Cacheable(key = "'cache_user_id_' + #id", value = "userIdCache", cacheManager = "cacheManager")
 public UserVO get(long id) {
 logger.info("get by id from db");
 UserVO user = new UserVO();
 user.setId(id);
 user.setName("name" + id);
 user.setCreateTime(TimestampUtil.current());
 return user;
 }
 
 @Cacheable(key = "'cache_user_name_' + #name", value = "userNameCache", cacheManager = "cacheManager")
 public UserVO get(String name) {
 logger.info("get by name from db");
 UserVO user = new UserVO();
 user.setId(new Random().nextLong());
 user.setName(name);
 user.setCreateTime(TimestampUtil.current());
 return user;
 }
 
 @CachePut(key = "'cache_user_id_' + #userVO.id", value = "userIdCache", cacheManager = "cacheManager")
 public UserVO update(UserVO userVO) {
 logger.info("update to db");
 userVO.setCreateTime(TimestampUtil.current());
 return userVO;
 }
 
 @CacheEvict(key = "'cache_user_id_' + #id", value = "userIdCache", cacheManager = "cacheManager")
 public void delete(long id) {
 logger.info("delete from db");
 }
}

properties文件中redis的配置跟使用redis是一樣的,可以增加兩級(jí)緩存的配置

#兩級(jí)緩存的配置
spring.cache.multi.caffeine.expireAfterAccess=5000
spring.cache.multi.redis.defaultExpiration=60000

#spring cache配置
spring.cache.cache-names=userIdCache,userNameCache

#redis配置
#spring.redis.timeout=10000
#spring.redis.password=redispwd
#redis pool
#spring.redis.pool.maxIdle=10
#spring.redis.pool.minIdle=2
#spring.redis.pool.maxActive=10
#spring.redis.pool.maxWait=3000
#redis cluster
spring.redis.cluster.nodes=127.0.0.1:7001,127.0.0.1:7002,127.0.0.1:7003,127.0.0.1:7004,127.0.0.1:7005,127.0.0.1:7006
spring.redis.cluster.maxRedirects=3

擴(kuò)展

個(gè)人認(rèn)為redisson的封裝更方便一些

  1. 對(duì)于spring cache緩存的實(shí)現(xiàn)沒有那么多的缺陷
  2. 使用redis的HASH結(jié)構(gòu),可以針對(duì)不同的hashKey設(shè)置過期時(shí)間,清理的時(shí)候會(huì)更方便
  3. 如果基于redisson來實(shí)現(xiàn)多級(jí)緩存,可以繼承RedissonCache,在對(duì)應(yīng)方法增加一級(jí)緩存的操作即可
  4. 如果有使用分布式鎖的情況就更方便了,可以直接使用Redisson中封裝的分布式鎖
  5. redisson中的發(fā)布訂閱封裝得更好用

后續(xù)可以增加對(duì)于緩存命中率的統(tǒng)計(jì)endpoint,這樣就可以更好的監(jiān)控各個(gè)緩存的命中情況,以便對(duì)緩存配置進(jìn)行優(yōu)化

源碼下載

starter目錄:springboot / itopener-parent / spring-boot-starters-parent / cache-redis-caffeine-spring-boot-starter-parent

示例代碼目錄: springboot / itopener-parent / demo-parent / demo-cache-redis-caffeine

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 劍指Offer之Java算法習(xí)題精講二叉樹與N叉樹

    劍指Offer之Java算法習(xí)題精講二叉樹與N叉樹

    跟著思路走,之后從簡(jiǎn)單題入手,反復(fù)去看,做過之后可能會(huì)忘記,之后再做一次,記不住就反復(fù)做,反復(fù)尋求思路和規(guī)律,慢慢積累就會(huì)發(fā)現(xiàn)質(zhì)的變化
    2022-03-03
  • Java中的線程私有變量ThreadLocal詳解

    Java中的線程私有變量ThreadLocal詳解

    這篇文章主要介紹了Java中的線程私有變量ThreadLocal詳解,ThreadLoalMap是ThreadLocal中的一個(gè)靜態(tài)內(nèi)部類,類似HashMap的數(shù)據(jù)結(jié)構(gòu),但并沒有實(shí)現(xiàn)Map接口,需要的朋友可以參考下
    2023-08-08
  • Java并發(fā)編程service層處理并發(fā)事務(wù)加鎖可能會(huì)無效問題

    Java并發(fā)編程service層處理并發(fā)事務(wù)加鎖可能會(huì)無效問題

    這篇文章主要介紹了Java并發(fā)編程service層處理并發(fā)事務(wù)加鎖可能會(huì)無效問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • SpringBoot日志框架如何使用

    SpringBoot日志框架如何使用

    這篇文章主要介紹了SpringBoot日志框架如何使用,幫助大家更好的理解和使用springboot日志框架,感興趣的朋友可以了解下
    2021-01-01
  • Spring Security其它權(quán)限校驗(yàn)方式&自定義權(quán)限校驗(yàn)方式

    Spring Security其它權(quán)限校驗(yàn)方式&自定義權(quán)限校驗(yàn)方式

    這篇文章主要介紹了Spring Security其它權(quán)限校驗(yàn)方式&自定義權(quán)限校驗(yàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • SpringBoot中的ApplicationListener事件監(jiān)聽器使用詳解

    SpringBoot中的ApplicationListener事件監(jiān)聽器使用詳解

    這篇文章主要介紹了SpringBoot中的ApplicationListener事件監(jiān)聽器使用詳解,ApplicationListener是應(yīng)用程序的事件監(jiān)聽器,繼承自java.util.EventListener標(biāo)準(zhǔn)接口,采用觀察者設(shè)計(jì)模式,需要的朋友可以參考下
    2023-11-11
  • 淺談SpringSecurity重寫默認(rèn)配置

    淺談SpringSecurity重寫默認(rèn)配置

    這篇文章主要介紹了SpringSecurity重寫默認(rèn)配置,包括注入Bean、擴(kuò)展WebSecurityConfigurerAdapter、重寫端點(diǎn)授權(quán)配置及實(shí)現(xiàn)AuthenticationProvider,感興趣的可以了解一下
    2025-01-01
  • Java排序算法中的快速排序算法實(shí)現(xiàn)

    Java排序算法中的快速排序算法實(shí)現(xiàn)

    這篇文章主要介紹了Java排序算法中的快速排序算法實(shí)現(xiàn),通過一趟排序?qū)⒁判虻臄?shù)據(jù)分割成獨(dú)立的兩部分,其中一部分的所有數(shù)據(jù)都比另外一部分的所有數(shù)據(jù)都要小,然后再按此方法對(duì)這兩部分?jǐn)?shù)據(jù)分別進(jìn)行快速排序,需要的朋友可以參考下
    2023-12-12
  • java實(shí)現(xiàn)窗口刷新的示例代碼

    java實(shí)現(xiàn)窗口刷新的示例代碼

    本文主要介紹了java實(shí)現(xiàn)窗口刷新的示例代碼,通過重寫paintComponent()方法和調(diào)用repaint()方法,可以實(shí)現(xiàn)窗口的即時(shí)刷新,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • 10個(gè)Java文件操作必備技巧分享

    10個(gè)Java文件操作必備技巧分享

    在我們?nèi)粘5拈_發(fā)中,文件操作是一個(gè)非常重要的主題。文件讀寫、文件復(fù)制、任意位置讀寫、緩存等技巧都是我們必須要掌握的。本文為大家整理了10個(gè)實(shí)用的文件操作技巧,希望對(duì)大家有所幫助
    2023-04-04

最新評(píng)論

视频一区二区综合精品| 国内资源最丰富的网站| 日本特级片中文字幕| 年轻的人妻被夫上司侵犯| 传媒在线播放国产精品一区| 午夜场射精嗯嗯啊啊视频| 欧美另类重口味极品在线观看| 亚洲熟女女同志女同| 久久久精品国产亚洲AV一| 免费观看丰满少妇做受| 大鸡吧插逼逼视频免费看| 欧美老鸡巴日小嫩逼| 91国偷自产一区二区三区精品| 亚洲成人熟妇一区二区三区| 日噜噜噜夜夜噜噜噜天天噜噜噜 | 亚洲成人线上免费视频观看| 在线制服丝袜中文字幕| 晚上一个人看操B片| 亚洲成人熟妇一区二区三区| 国产精品中文av在线播放| 偷拍3456eee| 狠狠躁夜夜躁人人爽天天天天97| 亚洲 中文 自拍 另类 欧美| 最新91九色国产在线观看| 久久久麻豆精亚洲av麻花| 国产精品一区二区av国| 色哟哟国产精品入口| 一区二区三区的久久的蜜桃的视频 | 亚洲综合图片20p| 这里只有精品双飞在线播放| 国产精品久久久久网| 免费费一级特黄真人片 | 一区二区久久成人网| 99的爱精品免费视频| 久久久久久国产精品| 国产精品久久综合久久| 国产高清97在线观看视频| 91精品国产91久久自产久强| 成人免费做爰高潮视频| 100%美女蜜桃视频| 视频一区二区在线免费播放| 精产国品久久一二三产区区别| 亚洲欧洲av天堂综合| www天堂在线久久| 亚洲图片欧美校园春色| 老司机你懂得福利视频| 亚洲欧美福利在线观看| 亚洲人妻av毛片在线| 免费无毒热热热热热热久| 91人妻精品一区二区久久| 国产使劲操在线播放| 亚洲高清免费在线观看视频| 护士特殊服务久久久久久久| 五月色婷婷综合开心网4438| 天天日天天舔天天射进去| 欧美日本aⅴ免费视频| 在线视频精品你懂的| chinese国产盗摄一区二区 | 在线不卡成人黄色精品| 超级福利视频在线观看| 特一级特级黄色网片| 亚洲午夜伦理视频在线| 国产精品午夜国产小视频| 亚洲av日韩精品久久久久久hd| 亚洲精品国产综合久久久久久久久| 一个色综合男人天堂| 久久香蕉国产免费天天| 绯色av蜜臀vs少妇| 粉嫩av懂色av蜜臀av| 日本阿v视频在线免费观看| 成年人午夜黄片视频资源| 老熟妇凹凸淫老妇女av在线观看| 国产精品久久久久久美女校花| 啊啊啊想要被插进去视频| 亚洲专区激情在线观看视频| 阿v天堂2014 一区亚洲| 久久久极品久久蜜桃| 成人高潮aa毛片免费| 精品久久婷婷免费视频| 端庄人妻堕落挣扎沉沦| 最新日韩av传媒在线| 亚洲成人激情av在线| 亚洲欧美福利在线观看| 视频久久久久久久人妻| 亚洲精品一区二区三区老狼| 偷拍自拍 中文字幕| 大屁股熟女一区二区三区| 人妻av无码专区久久绿巨人| 国产福利小视频二区| 一区二区三区久久久91| 天天射夜夜操狠狠干| 女生自摸在线观看一区二区三区| 粉嫩小穴流水视频在线观看| 蜜桃久久久久久久人妻| 午夜在线观看一区视频| 国产一区二区神马久久| 精品乱子伦一区二区三区免费播| 97年大学生大白天操逼| 婷婷色国产黑丝少妇勾搭AV| yy96视频在线观看| 五十路在线观看完整版| 国产在线拍揄自揄视频网站| 天天日天天干天天干天天日| 日本精品一区二区三区在线视频。| 男人天堂最新地址av| 日本少妇的秘密免费视频| 少妇露脸深喉口爆吞精| 91国产资源在线视频| 国产chinesehd精品麻豆| 91精品国产麻豆国产| 欧美亚洲一二三区蜜臀| 亚洲2021av天堂| 国产亚洲四十路五十路| 精品黑人巨大在线一区| 少妇高潮一区二区三区| av破解版在线观看| av在线免费中文字幕| 夜色福利视频在线观看| 黄色成人在线中文字幕| 99热国产精品666| 亚洲欧美一区二区三区电影| 日本成人不卡一区二区| 天堂av在线播放免费| wwwxxx一级黄色片| 孕妇奶水仑乱A级毛片免费看| 99热久久极品热亚洲| 操日韩美女视频在线免费看| 丝袜长腿第一页在线| 精品国产在线手机在线| 中文字幕人妻被公上司喝醉在线| 亚洲激情,偷拍视频| 亚洲一区二区三区五区| 亚洲成人熟妇一区二区三区| 五月激情婷婷久久综合网| 日韩美女福利视频网| 国产亚洲欧美另类在线观看| 丝袜美腿欧美另类 中文字幕| 狠狠地躁夜夜躁日日躁| gay gay男男瑟瑟在线网站| 一区二区免费高清黄色视频| 97精品视频在线观看| 淫秽激情视频免费观看| 欧美精品伦理三区四区 | 岛国青草视频在线观看| 黄色大片免费观看网站| 91老熟女连续高潮对白| 久久丁香婷婷六月天| 75国产综合在线视频| 中文字幕第一页国产在线| gay gay男男瑟瑟在线网站| 大胸性感美女羞爽操逼毛片| 一区二区三区四区视频| 中文亚洲欧美日韩无线码| 福利视频一区二区三区筱慧| 国产一线二线三线的区别在哪| 欧美精品中文字幕久久二区| 日本五十路熟新垣里子| 国产高潮无码喷水AV片在线观看| 午夜精品在线视频一区| 五月激情婷婷久久综合网| 岛国一区二区三区视频在线| 成年人该看的视频黄免费| 亚洲一区二区久久久人妻| 在线观看视频污一区| 熟女少妇激情五十路| 自拍偷拍亚洲精品第2页| 美女福利视频导航网站| 在线国产中文字幕视频| 日本免费视频午夜福利视频| 18禁网站一区二区三区四区| 亚洲中文字幕综合小综合| 在线视频精品你懂的| 天天干天天操天天插天天日| 欧美日韩v中文在线| 亚洲国产在人线放午夜| 一级黄片久久久久久久久| 色哟哟国产精品入口| 亚洲综合自拍视频一区| 激情啪啪啪啪一区二区三区 | 亚洲欧洲一区二区在线观看| 国产精品久久久久久久女人18| 揄拍成人国产精品免费看视频| 日本午夜爽爽爽爽爽视频在线观看| 亚洲黄色av网站免费播放| 性色av一区二区三区久久久| 狠狠躁狠狠爱网站视频| 亚洲 欧美 自拍 偷拍 在线| 国产熟妇乱妇熟色T区| 91国语爽死我了不卡| 亚洲日本一区二区久久久精品| 亚洲狠狠婷婷综合久久app| 91综合久久亚洲综合| 亚洲欧美另类手机在线| 国产一线二线三线的区别在哪| 亚洲人一区二区中文字幕| 自拍偷拍一区二区三区图片| 国产精品伦理片一区二区| 夜夜嗨av蜜臀av| 91九色porny国产在线| 果冻传媒av一区二区三区| 国产精品欧美日韩区二区| 免费在线看的黄片视频| 亚洲午夜伦理视频在线| 国产精品视频男人的天堂| 中文字幕日本人妻中出| av日韩在线观看大全| 国产1区,2区,3区| 亚洲一区二区三区av网站| 亚洲av午夜免费观看| 天天日天天做天天日天天做| 日韩av有码中文字幕| 国产又大又黄免费观看| 亚国产成人精品久久久| 四川乱子伦视频国产vip| heyzo蜜桃熟女人妻| 精品亚洲在线免费观看| 人妻久久久精品69系列| 亚洲欧美激情中文字幕| 人妻丝袜诱惑我操她视频| 欧美一区二区三区高清不卡tv| 亚洲色偷偷综合亚洲AV伊人| av中文字幕在线导航| 香蕉aⅴ一区二区三区| 国产亚洲欧美视频网站| 亚洲欧美综合在线探花| 一区二区三区毛片国产一区| 天天躁日日躁狠狠躁av麻豆| 一色桃子久久精品亚洲| 78色精品一区二区三区| 国产老熟女伦老熟妇ⅹ| 亚洲天堂第一页中文字幕| 在线网站你懂得老司机| 日本一区美女福利视频| 免费在线黄色观看网站| 国产福利小视频免费观看| 蜜桃精品久久久一区二区| 农村胖女人操逼视频| 亚洲精品中文字幕下载| 538精品在线观看视频| 久久热久久视频在线观看| av在线免费观看亚洲天堂| 国产精品一区二区三区蜜臀av| 国产午夜激情福利小视频在线| 最后99天全集在线观看| 大屁股熟女一区二区三区| 美洲精品一二三产区区别| 久久亚洲天堂中文对白| 国产a级毛久久久久精品| 久久永久免费精品人妻专区| 国产精品伦理片一区二区| 欧美成一区二区三区四区| 国产精品人妻66p| 亚洲一区二区三区偷拍女厕91| 偷拍自拍 中文字幕| 51国产成人精品视频| 欧美日韩人妻久久精品高清国产| av成人在线观看一区| 少妇一区二区三区久久久| 成人区人妻精品一区二视频| 性感美女福利视频网站| 欧美香蕉人妻精品一区二区| 精品区一区二区三区四区人妻| 55夜色66夜色国产精品站| 精品高潮呻吟久久av| 女同性ⅹxx女同hd| 国产精彩对白一区二区三区 | 又粗又硬又猛又爽又黄的| 欧美80老妇人性视频| 欧美黑人性暴力猛交喷水| 大香蕉福利在线观看| 97香蕉碰碰人妻国产樱花| 午夜美女福利小视频| 国产黄色a级三级三级三级| 少妇高潮无套内谢麻豆| 久久精品亚洲国产av香蕉| 国产 在线 免费 精品| 亚洲va国产va欧美精品88| 精品人人人妻人人玩日产欧| 80电影天堂网官网| 欧美偷拍亚洲一区二区| weyvv5国产成人精品的视频| 人妻久久久精品69系列| 精品亚洲在线免费观看| 日曰摸日日碰夜夜爽歪歪| 中文字幕网站你懂的| 亚洲麻豆一区二区三区| 大尺度激情四射网站| 国产在线观看黄色视频| 青青青青操在线观看免费| 人妻少妇亚洲精品中文字幕| 制服丝袜在线人妻中文字幕| 99久久99一区二区三区| 中文字幕午夜免费福利视频| 97人人妻人人澡人人爽人人精品| 91人妻精品一区二区在线看| 亚洲中文精品字幕在线观看| www日韩a级s片av| 欧美日韩亚洲国产无线码| 99精品亚洲av无码国产另类| 亚洲日本一区二区三区| 人妻凌辱欧美丰满熟妇| 日韩精品中文字幕播放| 国产麻豆剧传媒精品国产av蜜桃| 欧美乱妇无乱码一区二区| 亚洲欧美成人综合视频| 40道精品招牌菜特色| 国产一区二区三免费视频| 最新97国产在线视频| 亚洲青青操骚货在线视频| 好了av中文字幕在线| 中文字幕视频一区二区在线观看| 亚洲自拍偷拍精品网| 自拍偷拍 国产资源| 国产白袜脚足J棉袜在线观看| 人妻少妇亚洲精品中文字幕| 国产精品手机在线看片| 18禁美女羞羞免费网站| 日韩美av高清在线| 99人妻视频免费在线| 91精品国产观看免费| 成人性黑人一级av| 欧美3p在线观看一区二区三区| aⅴ五十路av熟女中出| av在线资源中文字幕| 青青青青青青青青青国产精品视频| 免费看国产又粗又猛又爽又黄视频 | 在线观看av观看av| 伊人综合aⅴ在线网| 1769国产精品视频免费观看| 超碰在线中文字幕一区二区| 四川五十路熟女av| 亚洲精品欧美日韩在线播放| 天堂av中文在线最新版| 自拍偷拍亚洲欧美在线视频| 97瑟瑟超碰在线香蕉| 欧美成一区二区三区四区| 中字幕人妻熟女人妻a62v网| 色综合天天综合网国产成人| 亚洲精品欧美日韩在线播放 | 人妻凌辱欧美丰满熟妇| 亚洲成人精品女人久久久| 最新日韩av传媒在线| 插逼视频双插洞国产操逼插洞| 视频一区 二区 三区 综合| 夜夜骑夜夜操夜夜奸| 国产在线一区二区三区麻酥酥| 91中文字幕免费在线观看| 黄色片年轻人在线观看| 激情国产小视频在线| 亚洲1卡2卡三卡4卡在线观看| 亚洲变态另类色图天堂网| 日韩精品激情在线观看| 亚洲精品乱码久久久本| 国产精品亚洲а∨天堂免| 日韩三级黄色片网站| 午夜的视频在线观看| 色爱av一区二区三区| 国产va在线观看精品| 欲乱人妻少妇在线视频裸| 亚洲变态另类色图天堂网| 亚洲国产欧美国产综合在线 | 国产一区av澳门在线观看| 天天操天天污天天射| av天堂中文字幕最新| 男人天堂最新地址av| 欧美交性又色又爽又黄麻豆| 国产高清精品极品美女| 亚洲欧美成人综合视频| 91精品国产综合久久久蜜| 亚洲精品精品国产综合| 亚洲少妇高潮免费观看| 国产日本欧美亚洲精品视| 亚洲图片欧美校园春色| 欧美精品资源在线观看| 色婷婷综合激情五月免费观看| 久久永久免费精品人妻专区| 深夜男人福利在线观看| 黄色大片免费观看网站| 大屁股熟女一区二区三区| 亚洲欧美一区二区三区爱爱动图 | 青青青青在线视频免费观看| 操人妻嗷嗷叫视频一区二区| 男人的网址你懂的亚洲欧洲av| 亚洲激情唯美亚洲激情图片| tube69日本少妇| 摧残蹂躏av一二三区| 91精品一区二区三区站长推荐| jiujiure精品视频在线| 99热色原网这里只有精品| 骚逼被大屌狂草视频免费看| 在线观看一区二区三级| 国产精品人妻一区二区三区网站| 国产91精品拍在线观看| 国产自拍在线观看成人| 精品美女久久久久久| 日韩在线中文字幕色| 五十路av熟女松本翔子| 精彩视频99免费在线| 亚洲av天堂在线播放| 久久机热/这里只有| 日本黄在免费看视频| 97超碰人人搞人人| 国产又大又黄免费观看| 91破解版永久免费| 日韩人妻在线视频免费| 国产亚洲欧美45p| 一区二区三区视频,福利一区二区 丰满的子国产在线观看 | aaa久久久久久久久| 国产黑丝高跟鞋视频在线播放| 国产亚洲成人免费在线观看 | 精品亚洲中文字幕av| 免费在线观看污污视频网站| 亚洲人妻视频在线网| 伊人日日日草夜夜草| 人人妻人人人操人人人爽| 91免费放福利在线观看| 亚洲特黄aaaa片| 日韩av有码一区二区三区4| 91传媒一区二区三区| 国产高清在线在线视频| 男女第一次视频在线观看| 日韩加勒比东京热二区| 91色秘乱一区二区三区| 国产精品欧美日韩区二区| 国产在线拍揄自揄视频网站| 日韩欧美亚洲熟女人妻| 91精品综合久久久久3d动漫| 国产91嫩草久久成人在线视频| 91片黄在线观看喷潮| 人妻少妇亚洲精品中文字幕| sspd152中文字幕在线| 免费黄色成人午夜在线网站| 综合国产成人在线观看| 11久久久久久久久久久| 欧美日韩熟女一区二区三区| 中文字幕在线欧美精品| 天天操天天插天天色| 天天射,天天操,天天说| 在线观看视频网站麻豆| gogo国模私拍视频| 香港三日本三韩国三欧美三级| av视屏免费在线播放| av中文字幕在线观看第三页| 插小穴高清无码中文字幕| 日本特级片中文字幕| 美女吃鸡巴操逼高潮视频| 98视频精品在线观看| 精品首页在线观看视频| 亚洲av日韩精品久久久| 91精品国产麻豆国产| 人妻丰满熟妇综合网| 精品国产亚洲av一淫| 88成人免费av网站| 亚洲欧美激情中文字幕| 亚洲欧美成人综合视频| 黄色男人的天堂视频| 91免费观看在线网站| 黄色三级网站免费下载| 99国产精品窥熟女精品| 99热久久这里只有精品8| 日本黄在免费看视频| 五月天久久激情视频| 亚洲天堂精品福利成人av| 白白操白白色在线免费视频| 婷婷综合亚洲爱久久| 大鸡巴后入爆操大屁股美女| 免费岛国喷水视频在线观看| 硬鸡巴动态操女人逼视频| 久久农村老妇乱69系列| 99精品一区二区三区的区| 综合一区二区三区蜜臀| 久青青草视频手机在线免费观看 | 日韩成人综艺在线播放| jiujiure精品视频在线| 91久久精品色伊人6882| 婷婷色中文亚洲网68| av在线免费资源站| 黄工厂精品视频在线观看| 91人妻精品久久久久久久网站| 国产又色又刺激在线视频 | 婷婷综合亚洲爱久久| 91 亚洲视频在线观看| 在线视频免费观看网| av日韩在线观看大全| 中文字幕熟女人妻久久久| 中国产一级黄片免费视频播放| 国产亚洲精品视频合集| 国产午夜福利av导航| free性日本少妇| www天堂在线久久| 国产白袜脚足J棉袜在线观看| 国产chinesehd精品麻豆| 色秀欧美视频第一页| 五十路熟女人妻一区二| 一区二区三区四区五区性感视频 | 97精品成人一区二区三区 | 免费在线黄色观看网站| 欧美美女人体视频一区| 国产精品自偷自拍啪啪啪| 国产欧美精品一区二区高清| 国产精品午夜国产小视频| 亚洲欧美久久久久久久久| 欧美日本在线观看一区二区| 一区二区三区四区视频| 国产熟妇一区二区三区av| 免费成人va在线观看| 欧美精品 日韩国产| 亚洲精品国产久久久久久| 青青擦在线视频国产在线| 国产1区,2区,3区| 欧美精品伦理三区四区| 国产精品黄片免费在线观看| 91she九色精品国产| 中文字幕在线观看极品视频| 女同久久精品秋霞网| 免费在线黄色观看网站| 亚洲av日韩精品久久久| 亚洲日本一区二区三区| 久久久久久97三级| 国产福利小视频大全| 非洲黑人一级特黄片| 国产视频精品资源网站| 亚洲国产香蕉视频在线播放| 日本人竟这样玩学生妹| 亚洲欧美福利在线观看| 亚洲欧美一区二区三区电影| 美女视频福利免费看| 一区二区视频视频视频| 午夜福利人人妻人人澡人人爽| 91精品啪在线免费| 91色秘乱一区二区三区| 经典国语激情内射视频| 97香蕉碰碰人妻国产樱花| 黄工厂精品视频在线观看 | 99热这里只有精品中文| 国产成人精品一区在线观看| 成年人黄视频在线观看| 毛片av在线免费看| 午夜影院在线观看视频羞羞羞| 99热久久这里只有精品8| 国产va精品免费观看| 亚洲乱码中文字幕在线| 亚洲av一妻不如妾| 老师让我插进去69AV| 一色桃子人妻一区二区三区| 综合页自拍视频在线播放| 免费国产性生活视频| 91超碰青青中文字幕| 成人蜜桃美臀九一一区二区三区| 亚洲熟女久久久36d| 亚洲av日韩精品久久久久久hd| 久草福利电影在线观看| 快点插进来操我逼啊视频| 日韩美女福利视频网| 一区二区三区视频,福利一区二区 丰满的子国产在线观看 | 欧美男人大鸡吧插女人视频 | www久久久久久久久久久| 久久丁香花五月天色婷婷| 免费无毒热热热热热热久| 亚洲码av无色中文| 欧美一区二区三区四区性视频| 国产乱弄免费视频观看| 免费大片在线观看视频网站| 激情伦理欧美日韩中文字幕| 日本一二三中文字幕| 日本一区精品视频在线观看| 日韩精品激情在线观看| 中文字幕一区二区人妻电影冢本| 51精品视频免费在线观看| 精品久久久久久久久久久99| 在线免费观看av日韩| 成人蜜臀午夜久久一区| 青青青激情在线观看视频| 成人av电影免费版| 99精品国产aⅴ在线观看| 在线观看黄色成年人网站| 韩国黄色一级二级三级| 久久精品国产999| 日本熟妇一区二区x x| 老司机免费视频网站在线看| 蜜桃视频在线欧美一区| 亚洲av自拍偷拍综合| 亚洲一区二区三区精品乱码| 热久久只有这里有精品| 亚洲第一黄色在线观看| 日本三极片中文字幕| 三上悠亚和黑人665番号| 青娱乐蜜桃臀av色| 全国亚洲男人的天堂| 亚洲免费在线视频网站| v888av在线观看视频| 欧美精产国品一二三区| 亚国产成人精品久久久| 精品人妻伦一二三区久| 男人靠女人的逼视频| 一区二区麻豆传媒黄片| 亚洲中文精品字幕在线观看| 亚洲国产中文字幕啊啊啊不行了 | 亚洲熟色妇av日韩熟色妇在线| 日美女屁股黄邑视频| 亚洲一区二区三区在线高清| 国产+亚洲+欧美+另类| 久久精品亚洲国产av香蕉| 成人30分钟免费视频| 午夜在线精品偷拍一区二| 国产女人叫床高潮大片视频| 福利一二三在线视频观看| 亚洲自拍偷拍综合色| 国产成人精品午夜福利训2021| 男人操女人的逼免费视频| 中文字幕av熟女人妻| 欧美黑人巨大性xxxxx猛交| 国产成人一区二区三区电影网站| 最新91九色国产在线观看| 日韩av免费观看一区| 少妇与子乱在线观看| 亚洲中文字字幕乱码| 青青草国内在线视频精选| 亚洲天堂精品福利成人av| 日本午夜久久女同精女女| 黄色片黄色片wyaa| 美女福利视频网址导航| 少妇人妻真实精品视频| 动漫av网站18禁| 亚洲成人午夜电影在线观看| 国产女人被做到高潮免费视频| 欧美精品中文字幕久久二区| 国产不卡av在线免费| 亚洲人一区二区中文字幕| 99re6热在线精品| 国产大鸡巴大鸡巴操小骚逼小骚逼| 在线免费观看靠比视频的网站| 91色网站免费在线观看| 婷婷色中文亚洲网68| 一区二区三区毛片国产一区| 99精品国产免费久久| 欧美精品欧美极品欧美视频| 哥哥姐姐综合激情小说| 手机看片福利盒子日韩在线播放| 亚洲精品亚洲人成在线导航| 美女视频福利免费看| 国产性色生活片毛片春晓精品| 日本成人不卡一区二区| 久久免费看少妇高潮完整版| 热思思国产99re| 91国内精品久久久久精品一| 久久久久国产成人精品亚洲午夜| 人妻少妇精品久久久久久| 亚洲av黄色在线网站| 男女第一次视频在线观看| 亚洲国产欧美一区二区三区久久| 一区二区久久成人网| 在线免费观看国产精品黄色| 久久丁香婷婷六月天| 一区二区三区四区视频| 天天干夜夜操天天舔| 久久久精品999精品日本| 在线播放国产黄色av| 亚洲午夜电影在线观看| 白白操白白色在线免费视频 | 人妻爱爱 中文字幕| 国产精品国产精品一区二区| 亚洲高清免费在线观看视频| 国产欧美精品不卡在线| 天天综合天天综合天天网| 国产妇女自拍区在线观看| 国产av一区2区3区| 国产内射中出在线观看| 国产精品国产三级国产精东| 色狠狠av线不卡香蕉一区二区| 91麻豆精品传媒国产黄色片| 久久精品视频一区二区三区四区| 97年大学生大白天操逼| 在线观看免费视频网| 九色视频在线观看免费| 人妻少妇精品久久久久久| 亚洲无码一区在线影院| 大香蕉伊人国产在线| 色婷婷久久久久swag精品| 一本一本久久a久久精品综合不卡| 91综合久久亚洲综合| 中文字幕人妻被公上司喝醉在线| 亚洲福利精品福利精品福利| 日韩精品啪啪视频一道免费| 大学生A级毛片免费视频| 成人亚洲国产综合精品| 特大黑人巨大xxxx| 韩国男女黄色在线观看| 韩国黄色一级二级三级| 亚洲国产成人在线一区| 风流唐伯虎电视剧在线观看| 欧美一级视频一区二区| 99热碰碰热精品a中文| 亚洲另类图片蜜臀av| 91啪国自产中文字幕在线| 人妻久久久精品69系列| 欧美老鸡巴日小嫩逼| 91小伙伴中女熟女高潮| 色综合天天综合网国产成人| av一区二区三区人妻| 日韩欧美亚洲熟女人妻| 国产精品黄色的av| 五十路av熟女松本翔子| 欧美视频不卡一区四区| 久草视频在线免播放| 成人网18免费视频版国产| 在线观看的黄色免费网站| 日韩精品中文字幕福利| 日本一二三区不卡无| 国产无遮挡裸体免费直播视频| 91天堂天天日天天操| aaa久久久久久久久| 小泽玛利亚视频在线观看| 日比视频老公慢点好舒服啊| 把腿张开让我插进去视频| 欧美va不卡视频在线观看| 欧美日韩亚洲国产无线码| 日韩中文字幕精品淫| 欧美一区二区三区乱码在线播放| 18禁网站一区二区三区四区| 欲乱人妻少妇在线视频裸| 精品黑人巨大在线一区| 欧美一区二区三区激情啪啪啪| 在线免费观看靠比视频的网站| 免费一级黄色av网站| 亚洲无码一区在线影院| 国产黑丝高跟鞋视频在线播放 | 最新激情中文字幕视频| 欧美区一区二区三视频| 啊慢点鸡巴太大了啊舒服视频| 亚洲码av无色中文| 另类av十亚洲av| 午夜精彩视频免费一区| 国产日韩精品电影7777| 欧美麻豆av在线播放| 久久久久久久精品成人热| av天堂资源最新版在线看| 国产a级毛久久久久精品| 成人亚洲国产综合精品| 国产成人午夜精品福利| 亚洲人妻视频在线网| 色噜噜噜噜18禁止观看| 真实国模和老外性视频| 精品国产高潮中文字幕| av高潮迭起在线观看| 一级A一级a爰片免费免会员| 久草视频在线免播放| 天天干天天操天天插天天日| av日韩在线免费播放| 亚洲伊人av天堂有码在线| 天堂av在线最新版在线| 黄色视频在线观看高清无码| 一级A一级a爰片免费免会员| 日本黄色特一级视频| 亚洲一区二区三区精品视频在线| 日本黄色特一级视频| www,久久久,com| 亚洲成人激情视频免费观看了| 亚洲国产免费av一区二区三区| 亚洲免费va在线播放| 人人妻人人爽人人澡人人精品| 888亚洲欧美国产va在线播放| av手机在线免费观看日韩av| 天天日天天天天天天天天天天| 在线免费观看日本片| 亚洲欧美国产麻豆综合| 青青青视频手机在线观看| 成人亚洲精品国产精品| 北条麻妃高跟丝袜啪啪| 五月精品丁香久久久久福利社 | v888av在线观看视频| 伊人网中文字幕在线视频| 都市家庭人妻激情自拍视频| 精品国产午夜视频一区二区| 午夜久久香蕉电影网| 三级av中文字幕在线观看| 91av中文视频在线| 日本脱亚入欧是指什么| av一区二区三区人妻| 国产精品国产三级国产午| 又粗又硬又猛又黄免费30| 日本真人性生活视频免费看| 婷婷午夜国产精品久久久| 天天操夜夜操天天操天天操| 男人的天堂在线黄色| 国产三级精品三级在线不卡| 亚洲另类在线免费观看| 亚洲专区激情在线观看视频| 欧美黑人巨大性xxxxx猛交| 中国熟女@视频91| 高潮喷水在线视频观看| 青青青青草手机在线视频免费看| 亚洲免费av在线视频| 精品人妻每日一部精品| 又黄又刺激的午夜小视频| 黄色成人在线中文字幕| 在线观看黄色成年人网站| 福利一二三在线视频观看| 偷拍自拍亚洲视频在线观看| 午夜久久久久久久精品熟女| 欧美专区第八页一区在线播放 | 免费男阳茎伸入女阳道视频 | 日本精品一区二区三区在线视频。| 亚洲美女自偷自拍11页| 天天干天天爱天天色| 中国无遮挡白丝袜二区精品| 大鸡吧插逼逼视频免费看| 一区二区三区四区视频在线播放| 国产片免费观看在线观看| 清纯美女在线观看国产| 成年人黄色片免费网站| 亚洲福利精品福利精品福利| 欧美中文字幕一区最新网址| 成人区人妻精品一区二视频| 欧美成人综合视频一区二区 | 亚洲天堂成人在线观看视频网站| 国产精品日韩欧美一区二区| 欧美一区二区三区乱码在线播放| 日本一区精品视频在线观看| 日韩剧情片电影在线收看| 自拍偷拍日韩欧美一区二区| 青青热久免费精品视频在线观看| 国产欧美日韩在线观看不卡| 亚洲综合一区成人在线| 特大黑人巨大xxxx| 欧美久久一区二区伊人| 一区二区三区av高清免费| 大鸡巴操b视频在线| 亚洲推理片免费看网站| 黄色av网站免费在线| 老熟妇xxxhd老熟女| av中文字幕国产在线观看| 亚洲中文字字幕乱码| 端庄人妻堕落挣扎沉沦| 99人妻视频免费在线| 熟女91pooyn熟女| 黄色录像鸡巴插进去| 自拍偷拍,中文字幕| 午夜在线观看岛国av,com| 日本免费视频午夜福利视频| 国产欧美日韩第三页| 蜜桃视频入口久久久| 经典av尤物一区二区| 大鸡吧插逼逼视频免费看 | 欧美黑人性暴力猛交喷水| 韩国爱爱视频中文字幕| 黄色录像鸡巴插进去| 欧美在线精品一区二区三区视频| 男女啪啪视频免费在线观看| 日本美女成人在线视频| 91麻豆精品传媒国产黄色片| 亚洲一区av中文字幕在线观看| 亚洲国产成人av在线一区| 午夜成午夜成年片在线观看| 成人网18免费视频版国产| 亚洲精品中文字幕下载| 久久久精品欧洲亚洲av| 久久精品久久精品亚洲人| 欧美一区二区三区在线资源 | 国产成人精品一区在线观看| 亚洲av色图18p| av手机免费在线观看高潮| 国产欧美精品不卡在线| 丝袜肉丝一区二区三区四区在线| 日本韩国免费一区二区三区视频| 性欧美激情久久久久久久| 91精品国产91青青碰| 亚洲高清国产一区二区三区| 亚洲av可乐操首页| 天天躁夜夜躁日日躁a麻豆| 国产精品视频男人的天堂| 久久香蕉国产免费天天| 国产女人被做到高潮免费视频| 亚洲国产最大av综合| 成人激情文学网人妻| 国产高清精品一区二区三区| 蝴蝶伊人久久中文娱乐网| 亚洲2021av天堂| 91久久综合男人天堂| 晚上一个人看操B片| 亚洲超碰97人人做人人爱| 久久精品久久精品亚洲人| 亚洲 中文 自拍 无码| 欧美成人综合色在线噜噜| v888av在线观看视频| 免费观看理论片完整版| 日本一本午夜在线播放| av在线观看网址av| 精品国产乱码一区二区三区乱| 欧亚日韩一区二区三区观看视频| 孕妇奶水仑乱A级毛片免费看| 中文字幕在线观看极品视频| 精品一区二区三四区| 国产成人精品一区在线观看 | 亚洲自拍偷拍综合色| 国产亚洲精品欧洲在线观看| 国产精品久久久久久久精品视频 | 密臀av一区在线观看| 天码人妻一区二区三区在线看| 国产亚洲欧美另类在线观看| 1区2区3区4区视频在线观看| 77久久久久国产精产品| 日本熟妇喷水xxx| 成人精品在线观看视频| 欧美少妇性一区二区三区| 精彩视频99免费在线| 综合一区二区三区蜜臀| 午夜激情高清在线观看| 日韩成人免费电影二区| 2021久久免费视频| 久久久麻豆精亚洲av麻花| 中国熟女一区二区性xx| 精品国产高潮中文字幕| 亚洲一级av大片免费观看| 欧美性感尤物人妻在线免费看| 美女张开腿让男生操在线看| 亚国产成人精品久久久| 一区国内二区日韩三区欧美| 日美女屁股黄邑视频| 免费男阳茎伸入女阳道视频| 视频 国产 精品 熟女 | 亚洲成av人无码不卡影片一| 2021久久免费视频| 蜜桃久久久久久久人妻| 天堂av在线最新版在线| 欧美黄色录像免费看的| 亚洲区美熟妇久久久久| 亚洲嫩模一区二区三区| 成人综合亚洲欧美一区 | 果冻传媒av一区二区三区| 人妻最新视频在线免费观看| 绝色少妇高潮3在线观看| 大肉大捧一进一出好爽在线视频 | 99精品免费观看视频| 成人30分钟免费视频| 少妇人妻久久久久视频黄片| 在线 中文字幕 一区| av中文字幕电影在线看| 日韩a级精品一区二区| 美女大bxxxx内射| 93精品视频在线观看| 天天日天天干天天干天天日| 97人妻无码AV碰碰视频| 成人18禁网站在线播放| 亚洲成人情色电影在线观看| 天天操,天天干,天天射| 国产亚洲四十路五十路| 亚洲公开视频在线观看| 亚洲精品成人网久久久久久小说| 55夜色66夜色国产精品站| 人妻少妇亚洲精品中文字幕| 国产大鸡巴大鸡巴操小骚逼小骚逼| 中文字幕av一区在线观看| 国产精品久久久黄网站| 国产成人精品久久二区91| 巨乳人妻日下部加奈被邻居中出| 在线视频这里只有精品自拍| 特级欧美插插插插插bbbbb| 一区二区久久成人网| 超黄超污网站在线观看| 激情综合治理六月婷婷| 欧美另类一区二区视频| 毛片av在线免费看| av天堂中文免费在线| 大肉大捧一进一出好爽在线视频 | 夜夜骑夜夜操夜夜奸| 国产一区av澳门在线观看| 欧美3p在线观看一区二区三区| 亚洲成人激情视频免费观看了| 国产无遮挡裸体免费直播视频| 不戴胸罩引我诱的隔壁的人妻| 国产在线91观看免费观看| 午夜国产免费福利av| 人人人妻人人澡人人| eeuss鲁片一区二区三区| 新婚人妻聚会被中出| 日本丰满熟妇大屁股久久| 9色精品视频在线观看| 欧美乱妇无乱码一区二区| 91一区精品在线观看| 亚洲综合一区成人在线| 亚洲精品乱码久久久久久密桃明| 2020国产在线不卡视频| 91国内精品自线在拍白富美| 在线免费观看欧美小视频| 亚洲区欧美区另类最新章节| 亚洲高清国产拍青青草原| 成人亚洲国产综合精品| 男人和女人激情视频| 欧美80老妇人性视频| 在线观看的a站 最新| 中文字幕在线欧美精品| 精品欧美一区二区vr在线观看| 99热这里只有精品中文| 天天射夜夜操狠狠干| 狠狠躁狠狠爱网站视频| 婷婷综合亚洲爱久久| 久碰精品少妇中文字幕av | 亚洲人人妻一区二区三区| 国产内射中出在线观看| 精品一区二区三区三区色爱| av天堂加勒比在线| 丰满熟女午夜福利视频| 人人妻人人爽人人添夜| 色呦呦视频在线观看视频| 天天日天天干天天舔天天射| 特大黑人巨大xxxx| 中文字幕之无码色多多| 亚洲国产成人最新资源| 欧美日本在线视频一区| 午夜成午夜成年片在线观看| 最新黄色av网站在线观看| 日本性感美女写真视频| 2022国产精品视频| 视频啪啪啪免费观看| 直接观看免费黄网站| 亚洲欧洲一区二区在线观看| 亚洲av日韩av网站| 亚洲国产在线精品国偷产拍| 国产熟妇乱妇熟色T区| 亚洲成人激情av在线| 91p0rny九色露脸熟女| 亚洲国产欧美一区二区丝袜黑人| 一色桃子人妻一区二区三区| a v欧美一区=区三区| 国产精品欧美日韩区二区| 亚洲精品乱码久久久久久密桃明 | 中文字幕中文字幕人妻| 国产又粗又硬又大视频| 人妻少妇一区二区三区蜜桃| 欧美日韩高清午夜蜜桃大香蕉| 91老师蜜桃臀大屁股| 欧洲精品第一页欧洲精品亚洲| 韩国亚洲欧美超一级在线播放视频| 日韩少妇人妻精品无码专区| 精品高潮呻吟久久av| 日韩人妻xxxxx| 毛片一级完整版免费| 欧美美女人体视频一区| 看一级特黄a大片日本片黑人| 91人妻精品一区二区久久| 偷拍美女一区二区三区| 污污小视频91在线观看| 久久久人妻一区二区| 色呦呦视频在线观看视频| 久草免费人妻视频在线| 在线观看免费视频网| 国产精品国产三级麻豆| 日韩av有码一区二区三区4| 国产自拍在线观看成人| free性日本少妇| 麻豆性色视频在线观看| 国产黄色高清资源在线免费观看| 欧洲国产成人精品91铁牛tv| 一区二区三区 自拍偷拍| 一色桃子人妻一区二区三区| 88成人免费av网站| 啊用力插好舒服视频| 欧美成人精品在线观看| 亚洲综合乱码一区二区| 五十路熟女人妻一区二区9933| 18禁精品网站久久| 青青青aaaa免费| 国产精品三级三级三级| 日韩亚国产欧美三级涩爱| av网站色偷偷婷婷网男人的天堂| 清纯美女在线观看国产| 日本精品一区二区三区在线视频。| 在线国产精品一区二区三区| 亚洲免费av在线视频| 国产亚洲欧美另类在线观看| 欧美日韩v中文在线| 亚洲欧美国产麻豆综合| 国产美女精品福利在线| 中文字幕奴隷色的舞台50| 国产成人精品久久二区91| 动色av一区二区三区| 大香蕉福利在线观看| 操人妻嗷嗷叫视频一区二区| 中文字幕日韩91人妻在线| 蜜桃视频入口久久久| 伊人开心婷婷国产av| 色花堂在线av中文字幕九九 | 激情国产小视频在线| 丰满少妇翘臀后进式| 天天干天天操天天扣| 成人久久精品一区二区三区| 免费十精品十国产网站| 99热久久极品热亚洲| 97人妻人人澡爽人人精品| 无码国产精品一区二区高潮久久4| 大香蕉大香蕉在线看| 中文字幕日韩精品日本| 欧美女同性恋免费a| 看一级特黄a大片日本片黑人| 亚洲成高清a人片在线观看| 18禁美女羞羞免费网站| 亚洲福利午夜久久久精品电影网 | 亚洲国产香蕉视频在线播放| 国产老熟女伦老熟妇ⅹ| 自拍偷区二区三区麻豆| 姐姐的朋友2在线观看中文字幕| 日本午夜福利免费视频| 年轻的人妻被夫上司侵犯| av黄色成人在线观看| 国产女人露脸高潮对白视频| 欧美精品欧美极品欧美视频| 偷拍美女一区二区三区| 亚洲欧美日韩视频免费观看| 亚洲 国产 成人 在线| 在线观看黄色成年人网站| 日韩影片一区二区三区不卡免费| 韩国三级aaaaa高清视频| 青青青激情在线观看视频| 人妻凌辱欧美丰满熟妇| 一区二区三区在线视频福利| 91chinese在线视频| 欧美一区二区三区高清不卡tv| 黄色在线观看免费观看在线| 欧美男人大鸡吧插女人视频| av网址国产在线观看| 亚洲精品国产久久久久久| 天天日天天爽天天爽| 伊人综合aⅴ在线网| 亚洲卡1卡2卡三卡四老狼| 男生用鸡操女生视频动漫| 中文字幕日本人妻中出| 亚洲国产欧美一区二区丝袜黑人| 成年人该看的视频黄免费| 97精品视频在线观看| 女蜜桃臀紧身瑜伽裤| 国产免费av一区二区凹凸四季| 国产精品久久久黄网站| 成人av亚洲一区二区| 久久久久久久精品老熟妇| 偷拍自拍 中文字幕| 大黑人性xxxxbbbb| 最近的中文字幕在线mv视频| 亚洲综合色在线免费观看| 特级无码毛片免费视频播放| 青青青青视频在线播放| 国产V亚洲V天堂无码欠欠| 日本少妇高清视频xxxxx| 中文 成人 在线 视频| 少妇人妻久久久久视频黄片| 中文字幕在线观看极品视频| 动色av一区二区三区| 岛国毛片视频免费在线观看| 色狠狠av线不卡香蕉一区二区| 一级黄色av在线观看| 岛国免费大片在线观看| 日韩美女综合中文字幕pp| 日本韩国在线观看一区二区| 日本最新一二三区不卡在线| 日本男女操逼视频免费看| 在线播放一区二区三区Av无码| 久久久久久性虐视频| 国产黄色a级三级三级三级| 日本xx片在线观看| 一区二区三区另类在线| 女警官打开双腿沦为性奴| 青青青艹视频在线观看| 久久久久久久精品成人热| 91九色porny蝌蚪国产成人| 沈阳熟妇28厘米大战黑人| 久久精品国产999| 午夜毛片不卡在线看| 人人妻人人爽人人澡人人精品| 韩国三级aaaaa高清视频| 久久精品国产999| 久青青草视频手机在线免费观看 | 中文字幕一区二 区二三区四区| 蜜桃专区一区二区在线观看| 任我爽精品视频在线播放| 五十路在线观看完整版| 精品美女在线观看视频在线观看| 在线视频精品你懂的| 91精品国产91青青碰| 欧美亚洲自偷自拍 在线| 91片黄在线观看喷潮| 免费在线看的黄网站| 夜鲁夜鲁狠鲁天天在线| 日韩伦理短片在线观看| 亚洲国产美女一区二区三区软件 | 日本人妻精品久久久久久| a v欧美一区=区三区| 香港三日本三韩国三欧美三级| 亚洲欧美激情国产综合久久久| av天堂中文免费在线| 老司机福利精品免费视频一区二区| 国产妇女自拍区在线观看| 中文字幕 亚洲av| 国产日韩欧美美利坚蜜臀懂色| 天天夜天天日天天日| 天天日夜夜操天天摸| 中文字幕一区二 区二三区四区| 国产精品人妻66p| 国产福利小视频免费观看| 美女福利视频网址导航| 国产aⅴ一线在线观看| 五月激情婷婷久久综合网| av俺也去在线播放| 噜噜色噜噜噜久色超碰| 18禁污污污app下载| 久久久久久久久久一区二区三区 | 成人乱码一区二区三区av| 一区二区三区国产精选在线播放| 欧美日本在线观看一区二区| 99热碰碰热精品a中文| 和邻居少妇愉情中文字幕| 噜噜色噜噜噜久色超碰| 日本高清成人一区二区三区| 日本xx片在线观看| 亚洲一区二区三区精品视频在线| 深田咏美亚洲一区二区| 91福利视频免费在线观看| 亚洲一级av无码一级久久精品| av天堂中文免费在线| 区一区二区三国产中文字幕| 亚洲一区二区三区uij| 国产极品精品免费视频| 成人av电影免费版| 日本啪啪啪啪啪啪啪| 国产又粗又黄又硬又爽| 黄色大片男人操女人逼| 天天日天天日天天射天天干| aiss午夜免费视频| 全国亚洲男人的天堂| 国产精品3p和黑人大战| 强行扒开双腿猛烈进入免费版| av新中文天堂在线网址| 欧美专区第八页一区在线播放| 国产一区二区在线欧美| 人妻在线精品录音叫床| AV无码一区二区三区不卡| 蜜桃久久久久久久人妻| 人妻最新视频在线免费观看| 人人爱人人妻人人澡39| 99re国产在线精品| av高潮迭起在线观看| 强行扒开双腿猛烈进入免费版| 欧美一区二区三区久久久aaa| av在线观看网址av| 自拍偷拍亚洲精品第2页| 骚货自慰被发现爆操| av网站色偷偷婷婷网男人的天堂| 大香蕉大香蕉大香蕉大香蕉大香蕉| 涩爱综合久久五月蜜臀| 亚洲欧美激情人妻偷拍| 天天日天天干天天干天天日| 久久久精品999精品日本| 亚洲熟妇无码一区二区三区| 亚洲自拍偷拍精品网| 欧美日韩激情啪啪啪| ka0ri在线视频| 亚洲天堂av最新网址| 1000部国产精品成人观看视频| 国产日韩av一区二区在线| 91在线免费观看成人| 婷婷综合蜜桃av在线| 青青青青青青青在线播放视频| 日韩不卡中文在线视频网站| 亚洲激情唯美亚洲激情图片| 大屁股肉感人妻中文字幕在线| 亚洲最大免费在线观看| 久久香蕉国产免费天天| 成人蜜臀午夜久久一区| 日韩熟女av天堂系列| 一级a看免费观看网站| 熟妇一区二区三区高清版| 久久美欧人妻少妇一区二区三区| 免费福利av在线一区二区三区| 色哟哟国产精品入口| 40道精品招牌菜特色| 99精品国产免费久久| 欧美伊人久久大香线蕉综合| 日韩影片一区二区三区不卡免费| 国语对白xxxx乱大交| 午夜久久久久久久99| 欧美日韩人妻久久精品高清国产| 亚洲福利午夜久久久精品电影网 | 久久久久久久亚洲午夜综合福利| 在线制服丝袜中文字幕| 日本黄色特一级视频| 2020久久躁狠狠躁夜夜躁| 日本少妇人妻xxxxxhd| 亚洲综合色在线免费观看| 国产午夜福利av导航| 免费看美女脱光衣服的视频| 亚洲美女美妇久久字幕组| 99热久久这里只有精品| 男生舔女生逼逼的视频| 家庭女教师中文字幕在线播放| 亚洲精品av在线观看| 精品视频国产在线观看| 国产变态另类在线观看| 老熟妇xxxhd老熟女| 五月激情婷婷久久综合网| 精品久久久久久久久久久久人妻| 真实国产乱子伦一区二区| 亚洲高清免费在线观看视频| 熟女人妻在线观看视频| 久草视频首页在线观看| 无套猛戳丰满少妇人妻| 不卡日韩av在线观看| 欧美日韩不卡一区不区二区| 亚洲av自拍偷拍综合| 黄网十四区丁香社区激情五月天 | 国产免费高清视频视频| 中出中文字幕在线观看| 一级黄片大鸡巴插入美女| 高潮视频在线快速观看国家快速| 91色秘乱一区二区三区| 国产精品人久久久久久| 夜女神免费福利视频| 日韩av有码中文字幕| 中文字幕在线乱码一区二区 | 午夜久久久久久久精品熟女| 免费在线播放a级片| 狠狠的往里顶撞h百合| 视频久久久久久久人妻| 中文字幕视频一区二区在线观看| 丝袜国产专区在线观看| 国产无遮挡裸体免费直播视频| av中文字幕在线导航| 中文字幕1卡1区2区3区| 亚洲乱码中文字幕在线| av视网站在线观看| 激情伦理欧美日韩中文字幕| 蜜桃精品久久久一区二区| 97黄网站在线观看| 一区二区免费高清黄色视频| 熟女少妇激情五十路| 19一区二区三区在线播放| 日日夜夜精品一二三| 51精品视频免费在线观看| 国产亚洲精品品视频在线| 亚洲熟女女同志女同| 精品美女福利在线观看| 日本高清撒尿pissing| 久久久久久9999久久久久| 又色又爽又黄的美女裸体| 538精品在线观看视频| 午夜在线观看一区视频| 中文字幕综合一区二区| 欧美精品免费aaaaaa| 国产精品久久久久网| 色97视频在线播放| asmr福利视频在线观看| 99久久激情婷婷综合五月天| 大鸡巴操b视频在线| 边摸边做超爽毛片18禁色戒| 干逼又爽又黄又免费的视频| 国产精品人妻熟女毛片av久| 免费手机黄页网址大全| 天天日天天干天天要| 亚洲另类图片蜜臀av| 中文字幕人妻被公上司喝醉在线| 97瑟瑟超碰在线香蕉| 久久久久久久一区二区三| 国产真实乱子伦a视频| 亚洲一区制服丝袜美腿| 亚洲一区二区三区在线高清| 黄色男人的天堂视频| 人妻少妇性色欲欧美日韩| 日本韩国免费福利精品| 日韩av免费观看一区| 青青草精品在线视频观看| 国产精品自拍偷拍a| 天天日天天透天天操| 亚洲天天干 夜夜操| 久久99久久99精品影院| 丝袜亚洲另类欧美变态| 大陆av手机在线观看| 日韩少妇人妻精品无码专区| 日本午夜福利免费视频| 欧亚乱色一区二区三区| 国产一区二区火爆视频| 精品视频国产在线观看| 大香蕉玖玖一区2区| 国产普通话插插视频| 国产刺激激情美女网站| 欧美综合婷婷欧美综合| 自拍偷拍一区二区三区图片| 黄色成年网站午夜在线观看| 视频一区二区综合精品| 伊人情人综合成人久久网小说 | 大鸡吧插入女阴道黄色片| 欧美精品黑人性xxxx| 成人国产小视频在线观看| 美女福利视频网址导航| 国产实拍勾搭女技师av在线| 亚洲国产第一页在线观看| 国产女人被做到高潮免费视频| av无限看熟女人妻另类av| 亚洲综合在线观看免费| 欧美在线精品一区二区三区视频 | 婷婷午夜国产精品久久久| 一区二区麻豆传媒黄片| 91九色porny蝌蚪国产成人| 天堂av中文在线最新版| 国产成人无码精品久久久电影| eeuss鲁片一区二区三区| 亚洲成人熟妇一区二区三区 | 欧美一级色视频美日韩| 亚洲精品三级av在线免费观看| 偷青青国产精品青青在线观看| 国产九色91在线观看精品| 日韩少妇人妻精品无码专区| 久草电影免费在线观看| 又大又湿又爽又紧A视频| 可以免费看的www视频你懂的| 蜜臀成人av在线播放| 美女张开两腿让男人桶av| 欧美日韩v中文在线| 孕妇奶水仑乱A级毛片免费看| 激情国产小视频在线| 91成人精品亚洲国产| 男人的天堂在线黄色| 久久这里有免费精品| 伊人开心婷婷国产av| 日本裸体熟妇区二区欧美| 国产午夜亚洲精品麻豆| 欧美80老妇人性视频| 青青青青爽手机在线| 五月色婷婷综合开心网4438| 福利午夜视频在线观看| 五色婷婷综合狠狠爱| 高潮喷水在线视频观看| 青青草人人妻人人妻| 在线视频免费观看网| 久久精品国产23696| 大骚逼91抽插出水视频| 97人人妻人人澡人人爽人人精品| 大胸性感美女羞爽操逼毛片| av天堂资源最新版在线看| 青青青青青操视频在线观看| 女同性ⅹxx女同h偷拍| 天天色天天舔天天射天天爽| 自拍偷拍 国产资源| 2019av在线视频| 97国产福利小视频合集| 五月激情婷婷久久综合网| 91高清成人在线视频| 激情啪啪啪啪一区二区三区| 天天做天天爽夜夜做少妇| 中文字幕日韩无敌亚洲精品| 很黄很污很色的午夜网站在线观看| 成人av久久精品一区二区| 桃色视频在线观看一区二区| 亚洲成a人片777777| 蜜臀成人av在线播放| 岛国黄色大片在线观看| 男人天堂色男人av| 丰满的子国产在线观看| 成人在线欧美日韩国产| 日韩欧美制服诱惑一区在线| 午夜精品福利一区二区三区p| 伊人情人综合成人久久网小说| 日本xx片在线观看| 黑人变态深video特大巨大| 婷婷综合亚洲爱久久| 在线视频免费观看网| 岛国免费大片在线观看| 中文字幕日韩精品就在这里| 91中文字幕免费在线观看| 国产成人精品av网站| 欧美一区二区三区四区性视频| 中文字幕一区二区人妻电影冢本| 国产福利小视频大全| 久精品人妻一区二区三区| 操操网操操伊剧情片中文字幕网| 亚洲国产在线精品国偷产拍| 日本黄在免费看视频| 91免费放福利在线观看| 大鸡巴操娇小玲珑的女孩逼| 91亚洲国产成人精品性色| 人妻无码中文字幕专区| 青娱乐在线免费视频盛宴| 天天操天天操天天碰| 伊人精品福利综合导航| caoporm超碰国产| 端庄人妻堕落挣扎沉沦| 97国产在线av精品| 91极品大一女神正在播放 | 日本熟妇色熟妇在线观看| 综合色区亚洲熟妇shxstz| 99热久久极品热亚洲| 蜜桃久久久久久久人妻| 红杏久久av人妻一区| 亚洲成人av在线一区二区| 大香蕉玖玖一区2区| 啪啪啪啪啪啪啪啪啪啪黄色| 天天想要天天操天天干| 国产日本欧美亚洲精品视| 国产av自拍偷拍盛宴| 岳太深了紧紧的中文字幕| 大白屁股精品视频国产| 国产男女视频在线播放| 一级a看免费观看网站| 久久丁香花五月天色婷婷| 午夜精品一区二区三区福利视频| 蜜桃专区一区二区在线观看| 天天插天天色天天日| 97欧洲一区二区精品免费| 国产精品一二三不卡带免费视频| 日本少妇的秘密免费视频| 黑人变态深video特大巨大| 日韩av大胆在线观看| 精品91自产拍在线观看一区| 国产va精品免费观看| 黑人进入丰满少妇视频| 国产V亚洲V天堂无码欠欠| 精品av久久久久久久| 自拍偷拍亚洲另类色图| 国内精品在线播放第一页| 欧美精品一区二区三区xxxx| 密臀av一区在线观看| 国产又色又刺激在线视频| 日韩精品中文字幕播放| 美女骚逼日出水来了| 青青草成人福利电影| 快插进小逼里大鸡吧视频| 日本男女操逼视频免费看| 久久精品亚洲国产av香蕉| 人人人妻人人澡人人| 超碰97人人做人人爱| av久久精品北条麻妃av观看| 任我爽精品视频在线播放| 日韩成人综艺在线播放| 特级无码毛片免费视频播放 | 色综合久久五月色婷婷综合| 午夜精品久久久久麻豆影视| 国产精品久久9999| 五月天久久激情视频| 久久久久久久精品成人热| 日本高清成人一区二区三区| 欧洲亚洲欧美日韩综合| 欧美日韩一级黄片免费观看| 丝袜肉丝一区二区三区四区在线 | 国产视频精品资源网站| 国产剧情演绎系列丝袜高跟| 白嫩白嫩美女极品国产在线观看| 国产中文精品在线观看| 黑人进入丰满少妇视频| 亚洲老熟妇日本老妇| 国产又大又黄免费观看| 肏插流水妹子在线乐播下载| 视频 国产 精品 熟女 | 99人妻视频免费在线| 国产成人精品福利短视频| 欧美第一页在线免费观看视频| 青青草成人福利电影| av俺也去在线播放| 日本女大学生的黄色小视频| 国产在线自在拍91国语自产精品| 久久机热/这里只有| 久久机热/这里只有| 香港三日本三韩国三欧美三级| 97人人妻人人澡人人爽人人精品| 国产三级片久久久久久久| 国产男女视频在线播放| 38av一区二区三区| 1区2区3区4区视频在线观看| 日本啪啪啪啪啪啪啪| 中文字幕熟女人妻久久久| 亚洲美女美妇久久字幕组| 日韩精品二区一区久久| 色花堂在线av中文字幕九九 | 综合色区亚洲熟妇shxstz| 日韩三级黄色片网站| 喷水视频在线观看这里只有精品| 亚洲2021av天堂| 亚洲成人三级在线播放| 中文字幕免费福利视频6| 大鸡巴后入爆操大屁股美女| 欧美一级片免费在线成人观看| 91麻豆精品传媒国产黄色片| 97超碰国语国产97超碰| 美女大bxxxx内射| 自拍偷拍日韩欧美一区二区| 亚洲成人情色电影在线观看| 国产精品国产精品一区二区| 大香蕉大香蕉在线有码 av| 91老熟女连续高潮对白| 91精品国产综合久久久蜜| 欧美精品欧美极品欧美视频| 91超碰青青中文字幕| 91高清成人在线视频| 伊人综合免费在线视频| 国产伊人免费在线播放| 在线播放 日韩 av| 蜜桃视频入口久久久| 精品国产亚洲av一淫| 丝袜美腿视频诱惑亚洲无| 蜜桃精品久久久一区二区| 少妇高潮无套内谢麻豆| 久久艹在线观看视频| 5528327男人天堂| 亚洲欧美福利在线观看| 99精品国产自在现线观看| aiss午夜免费视频| 99久久超碰人妻国产| 成年午夜影片国产片| 国产视频一区二区午夜| 97人妻总资源视频| 污污小视频91在线观看| 日日夜夜狠狠干视频| 国产男女视频在线播放| 国产中文字幕四区在线观看| 成人av中文字幕一区| 沈阳熟妇28厘米大战黑人| 1024久久国产精品| 最新激情中文字幕视频| 成人激情文学网人妻| 亚洲天堂成人在线观看视频网站| 黄片色呦呦视频免费看| 国产精品福利小视频a| 九一传媒制片厂视频在线免费观看 | 啊啊啊视频试看人妻| 青青青青青青青青青国产精品视频| 亚洲青青操骚货在线视频| 中文字幕av熟女人妻| 精品美女在线观看视频在线观看| 美女张开两腿让男人桶av| 啊啊好大好爽啊啊操我啊啊视频| 亚洲码av无色中文| 日日夜夜精品一二三| 伊人网中文字幕在线视频| 国产乱子伦一二三区| 亚洲av琪琪男人的天堂| 精品美女久久久久久| 丁香花免费在线观看中文字幕| 在线播放一区二区三区Av无码| 在线新三级黄伊人网| 2020中文字幕在线播放| 午夜精品福利91av| 少妇一区二区三区久久久| 狍和女人的王色毛片| 青青青aaaa免费| 57pao国产一区二区| 黑人巨大精品欧美视频| 天天日天天日天天擦| 久久h视频在线观看| 久久人人做人人妻人人玩精品vr| 特级无码毛片免费视频播放| 国产欧美精品免费观看视频| 青青青青爽手机在线| 99婷婷在线观看视频| 换爱交换乱高清大片| 超碰公开大香蕉97| 国产91嫩草久久成人在线视频| 国产成人综合一区2区| 涩涩的视频在线观看视频| 国产精品视频男人的天堂| xxx日本hd高清| 午夜免费观看精品视频| av网站色偷偷婷婷网男人的天堂| 91啪国自产中文字幕在线| 亚洲中文精品字幕在线观看| 92福利视频午夜1000看| 99婷婷在线观看视频| av中文字幕在线观看第三页| 91老熟女连续高潮对白| 午夜的视频在线观看| 亚洲精品麻豆免费在线观看 | 国产视频网站国产视频| av中文字幕电影在线看| 91国产在线免费播放| 婷婷五月亚洲综合在线| 可以免费看的www视频你懂的| japanese日本熟妇另类| 国产麻豆精品人妻av| 色综合色综合色综合色| 天天日天天做天天日天天做| 欧美成人小视频在线免费看| 人妻无码色噜噜狠狠狠狠色| 最新欧美一二三视频| 亚洲欧美综合另类13p| 色97视频在线播放| yellow在线播放av啊啊啊 | 天天干天天操天天爽天天摸| 直接能看的国产av| 久久午夜夜伦痒痒想咳嗽P| 成人av电影免费版| 亚洲午夜电影之麻豆| 精品一区二区三区三区88| 男人的天堂在线黄色| 经典av尤物一区二区| 不卡日韩av在线观看| 午夜dv内射一区区| 欧美国品一二三产区区别| 性欧美日本大妈母与子| 97国产精品97久久| 亚洲成av人无码不卡影片一| 欧美成人一二三在线网| 天天做天天干天天操天天射| 日韩写真福利视频在线观看| 天堂资源网av中文字幕| 少妇被强干到高潮视频在线观看| 毛片一级完整版免费| 国产精品久久久久网| 国产欧美日韩在线观看不卡| 天天色天天爱天天爽| 久久久久久99国产精品| 亚洲激情,偷拍视频| 人妻少妇精品久久久久久| 亚洲精品午夜久久久久| 亚洲一级美女啪啪啪| 男人天堂av天天操| 青青擦在线视频国产在线| 国产高清在线在线视频| 大陆精品一区二区三区久久| 欧美精品久久久久久影院| 91传媒一区二区三区| 日韩美av高清在线| 蜜桃精品久久久一区二区| 精产国品久久一二三产区区别| 男人的天堂av日韩亚洲| 亚洲人人妻一区二区三区| 大香蕉玖玖一区2区| 亚洲人妻国产精品综合| 欧美女同性恋免费a| 人妻爱爱 中文字幕| 天堂va蜜桃一区入口| 亚洲欧美福利在线观看| 激情人妻校园春色亚洲欧美| 久草视频在线看免费| 天天艹天天干天天操| 亚洲蜜臀av一区二区三区九色 | 99热这里只有精品中文| 绝色少妇高潮3在线观看| 北条麻妃肉色丝袜视频| 天天干天天操天天扣| 国产麻豆剧传媒精品国产av蜜桃| 激情色图一区二区三区| 国产刺激激情美女网站| 激情啪啪啪啪一区二区三区 | 亚洲午夜在线视频福利| 国产综合精品久久久久蜜臀| 亚洲熟女久久久36d| 日本少妇的秘密免费视频| 在线观看的黄色免费网站| 欧美精品激情在线最新观看视频| 自拍偷拍 国产资源| 日韩在线视频观看有码在线| 一区二区麻豆传媒黄片 | av中文字幕网址在线| 男人天堂av天天操| 韩国女主播精品视频网站| 免费大片在线观看视频网站| 天天夜天天日天天日| 亚洲一区av中文字幕在线观看| 一区二区免费高清黄色视频| 老熟妇凹凸淫老妇女av在线观看| 欧美精品黑人性xxxx| 欧美日韩中文字幕欧美| 国产一区二区久久久裸臀| 100%美女蜜桃视频| 人妻少妇精品久久久久久| 中文字幕欧美日韩射射一| 亚洲av在线观看尤物| 亚洲欧美一区二区三区爱爱动图 | 亚洲熟妇无码一区二区三区| 日本一道二三区视频久久| 亚洲中文精品人人免费| 五月色婷婷综合开心网4438| 毛片av在线免费看| 国产精品欧美日韩区二区| 日本女大学生的黄色小视频| 欧美80老妇人性视频| 综合一区二区三区蜜臀| 狠狠操操操操操操操操操| 亚洲一区久久免费视频| 色97视频在线播放| 日韩欧美一级黄片亚洲| 欧美日韩v中文在线| 国语对白xxxx乱大交| 亚洲免费视频欧洲免费视频| 欧美日韩v中文在线| 欧美亚洲国产成人免费在线| 婷婷久久一区二区字幕网址你懂得| 国产福利小视频大全| 久久久精品欧洲亚洲av| 91精品视频在线观看免费| 亚洲国产香蕉视频在线播放| 中文字幕,亚洲人妻| 一本一本久久a久久精品综合不卡| 二区中出在线观看老师| 偷拍自拍福利视频在线观看| 久久久久国产成人精品亚洲午夜| 国产一区成人在线观看视频| 97人妻无码AV碰碰视频| 1区2区3区4区视频在线观看| 天天综合天天综合天天网| 少妇高潮无套内谢麻豆| 亚洲一区制服丝袜美腿| 中国视频一区二区三区| 天天射夜夜操狠狠干| 在线免费观看国产精品黄色| 沙月文乃人妻侵犯中文字幕在线| 晚上一个人看操B片| 成人亚洲国产综合精品| 亚洲 色图 偷拍 欧美| www日韩a级s片av| 丁香花免费在线观看中文字幕| 亚洲中文字字幕乱码| lutube在线成人免费看| 国产视频一区在线观看| 午夜大尺度无码福利视频| 性欧美激情久久久久久久| 66久久久久久久久久久| 最新中文字幕免费视频| 天天操天天干天天艹| 日韩av熟妇在线观看| av乱码一区二区三区| 亚洲国产中文字幕啊啊啊不行了 | 91av精品视频在线| 色在线观看视频免费的| 欧美少妇性一区二区三区| 人妻av无码专区久久绿巨人| 亚洲精品精品国产综合| 午夜久久久久久久精品熟女| av资源中文字幕在线观看| 欧美精品黑人性xxxx| 国产超码片内射在线| 日本性感美女三级视频| 女警官打开双腿沦为性奴| 青青青激情在线观看视频| 91久久国产成人免费网站| av高潮迭起在线观看| 人妻凌辱欧美丰满熟妇| 蜜桃臀av蜜桃臀av| 中文字幕一区二 区二三区四区| 粉嫩av懂色av蜜臀av | 成年美女黄网站18禁久久| 91免费黄片可看视频| 日本女大学生的黄色小视频| 超碰公开大香蕉97| 午夜精品一区二区三区城中村| jiujiure精品视频在线| 免费在线看的黄网站| 蜜桃视频入口久久久| 99国内精品永久免费视频| 亚洲伊人av天堂有码在线| 天天做天天爽夜夜做少妇| 伊人综合aⅴ在线网| 天堂女人av一区二区| 亚洲午夜伦理视频在线| 天天日天天干天天插舔舔| 人妻最新视频在线免费观看| 亚洲卡1卡2卡三卡四老狼| 东京干手机福利视频| 天天想要天天操天天干| 欧美偷拍自拍色图片| 亚洲青青操骚货在线视频| 亚洲伊人色一综合网| 91国产在线免费播放| 国产中文精品在线观看| 久久永久免费精品人妻专区 | 欧美黑人性猛交xxxxⅹooo| 午夜激情久久不卡一区二区 | 午夜91一区二区三区| 亚洲自拍偷拍综合色| 亚洲美女自偷自拍11页| 51精品视频免费在线观看| 天堂av在线官网中文| a v欧美一区=区三区| 久久免费看少妇高潮完整版| 国产精品久久9999| 99精品免费久久久久久久久a| 中文字幕,亚洲人妻| 亚洲少妇人妻无码精品| 欧美黑人性猛交xxxxⅹooo| 欧美日韩高清午夜蜜桃大香蕉| 一级黄色片夫妻性生活| 日本又色又爽又黄又粗| 女人精品内射国产99| 又粗又长 明星操逼小视频| 久久这里只有精彩视频免费| 91www一区二区三区| 888欧美视频在线| 国产超码片内射在线| 五十路在线观看完整版| 人妻少妇亚洲一区二区| 色天天天天射天天舔| 国产变态另类在线观看| 任你操视频免费在线观看| 色伦色伦777国产精品| 国产黄色片蝌蚪九色91| 午夜美女少妇福利视频| 在线观看av2025| 成人性爱在线看四区| 动漫av网站18禁| 男人的网址你懂的亚洲欧洲av| 狠狠地躁夜夜躁日日躁| 亚洲av无码成人精品区辽| 这里有精品成人国产99| 青青青青青青青青青国产精品视频| 国产九色91在线视频| 阿v天堂2014 一区亚洲| 中文字幕av一区在线观看| 97超碰人人搞人人| 在线制服丝袜中文字幕| 都市家庭人妻激情自拍视频| 久久久久久久一区二区三| 久久久极品久久蜜桃| 婷婷久久一区二区字幕网址你懂得 | 黄片大全在线观看观看| 欧美成人综合视频一区二区| 干逼又爽又黄又免费的视频| 中文字幕在线第一页成人| 亚洲国产中文字幕啊啊啊不行了| 亚洲偷自拍高清视频| 东游记中文字幕版哪里可以看到| 动漫美女的小穴视频| 超碰公开大香蕉97| 亚洲 中文 自拍 无码| 中文字幕日韩精品日本| 黄片三级三级三级在线观看| 天天做天天干天天操天天射| 国产麻豆剧传媒精品国产av蜜桃| 制服丝袜在线人妻中文字幕| 亚洲va国产va欧美精品88| 欧美精品一区二区三区xxxx| 久久综合老鸭窝色综合久久| 91免费放福利在线观看| 一区二区三区久久中文字幕| 国产av自拍偷拍盛宴| 日本免费视频午夜福利视频| 欧美精产国品一二三产品价格| 午夜国产福利在线观看| 亚洲精品国产综合久久久久久久久| caoporm超碰国产| 日辽宁老肥女在线观看视频| 91精品啪在线免费| 日本人妻少妇18—xx| 天天摸天天干天天操科普| 在线观看免费视频色97| 19一区二区三区在线播放| 色97视频在线播放| 日韩黄色片在线观看网站| 特级无码毛片免费视频播放| 六月婷婷激情一区二区三区| 国产麻豆精品人妻av| 六月婷婷激情一区二区三区| 午夜精彩视频免费一区| 熟女人妻三十路四十路人妻斩| 亚洲精品一线二线在线观看| 美女少妇亚洲精选av| 国产精品久久久久久久女人18| 九色porny九色9l自拍视频| 91精品视频在线观看免费| 免费观看理论片完整版| 婷婷激情四射在线观看视频| 最新日韩av传媒在线| 亚洲一区二区三区久久受 | 激情小视频国产在线| 高潮喷水在线视频观看| 日韩欧美在线观看不卡一区二区| 亚洲卡1卡2卡三卡四老狼| 黑人进入丰满少妇视频| 91免费黄片可看视频| 亚洲变态另类色图天堂网| 天天色天天舔天天射天天爽| 国产精品人久久久久久| 视频 国产 精品 熟女 | 五月天久久激情视频| 在线观看操大逼视频| 久久久久久久久久久免费女人| 自拍 日韩 欧美激情| 唐人色亚洲av嫩草| 91国产资源在线视频| 日韩欧美一级黄片亚洲| 大香蕉伊人中文字幕| 97a片免费在线观看| 亚洲最大黄 嗯色 操 啊| 强行扒开双腿猛烈进入免费版 | 色伦色伦777国产精品| 自拍偷拍亚洲欧美在线视频| 91国偷自产一区二区三区精品| 天天干天天日天天干天天操| 亚洲熟女女同志女同| 欧美怡红院视频在线观看| 精品国产午夜视频一区二区| 亚洲成人黄色一区二区三区| 久久机热/这里只有| 国产精品视频资源在线播放| 欧美成人综合视频一区二区| 亚洲国产40页第21页| 国产在线免费观看成人| 亚洲午夜在线视频福利| 夏目彩春在线中文字幕| 国产麻豆剧传媒精品国产av蜜桃| 午夜久久久久久久精品熟女| 啪啪啪18禁一区二区三区| av视屏免费在线播放| aⅴ五十路av熟女中出| 亚洲成人三级在线播放| 91大屁股国产一区二区| 国产之丝袜脚在线一区二区三区| 超pen在线观看视频公开97| 中文字幕日韩精品就在这里| 3344免费偷拍视频| 中文字幕+中文字幕| 日日操综合成人av| 三上悠亚和黑人665番号| av手机在线观播放网站| 偷青青国产精品青青在线观看| 在线可以看的视频你懂的| 日韩精品一区二区三区在线播放| 国产在线拍揄自揄视频网站| 国产精品人妻66p| 伊人成人在线综合网| 狠狠躁夜夜躁人人爽天天天天97| 精品久久久久久久久久中文蒉| 18禁网站一区二区三区四区| 999九九久久久精品| 99视频精品全部15| 免费在线黄色观看网站| 国产刺激激情美女网站| 国产免费av一区二区凹凸四季| 欧美日韩激情啪啪啪| 中文字幕综合一区二区| 最新的中文字幕 亚洲| 任我爽精品视频在线播放| 亚洲国产中文字幕啊啊啊不行了| 亚洲人妻30pwc| 亚洲欧美国产麻豆综合| 欧美韩国日本国产亚洲| 福利在线视频网址导航| 男人天堂色男人av| 93视频一区二区三区| 男人的天堂av日韩亚洲| 中国把吊插入阴蒂的视频| 久久人人做人人妻人人玩精品vr| 免费在线观看污污视频网站| 新婚人妻聚会被中出| 日韩特级黄片高清在线看| 国产又粗又猛又爽又黄的视频在线 | 国产91久久精品一区二区字幕| 91精品视频在线观看免费| 免费看国产av网站| 精品久久久久久久久久久久人妻| 51国产偷自视频在线播放| 欧美香蕉人妻精品一区二区| 亚洲一区二区三区五区| 在线免费观看国产精品黄色| 国产精品日韩欧美一区二区| 大鸡八强奸视频在线观看| 人妻最新视频在线免费观看| 晚上一个人看操B片| weyvv5国产成人精品的视频| 免费无毒热热热热热热久| 内射久久久久综合网| 午夜dv内射一区区| 亚洲综合在线观看免费| 国产精品精品精品999| 日本真人性生活视频免费看| 蜜桃臀av蜜桃臀av| 少妇人妻久久久久视频黄片| 久久久久五月天丁香社区| 不戴胸罩引我诱的隔壁的人妻| 66久久久久久久久久久| 亚洲av色图18p| 国产欧美精品一区二区高清 | 日本少妇人妻xxxxxhd| 91麻豆精品久久久久| 最新97国产在线视频| 五十路熟女人妻一区二区9933| 91在线视频在线精品3| 天天干夜夜操啊啊啊| 性色蜜臀av一区二区三区| 日本高清成人一区二区三区| 黄色片一级美女黄色片| 国产精品福利小视频a| 天天干夜夜操啊啊啊| 国产视频网站一区二区三区| 天天干天天日天天干天天操| 懂色av之国产精品| 欧美一区二区三区在线资源 | 亚洲高清免费在线观看视频| 日韩美女搞黄视频免费| 99热国产精品666| 日韩伦理短片在线观看| 中国把吊插入阴蒂的视频| 一级A一级a爰片免费免会员| 亚洲国产精品中文字幕网站| 91精品国产黑色丝袜| 国产精品久久久黄网站| av破解版在线观看| 97超碰免费在线视频| 久久久久国产成人精品亚洲午夜| 国产在线观看免费人成短视频| 无套猛戳丰满少妇人妻| 97超碰人人搞人人| 91破解版永久免费| 欧美一级视频一区二区| 狠狠躁夜夜躁人人爽天天久天啪| 国产精品国产三级国产精东| 18禁网站一区二区三区四区 | 美女视频福利免费看| 亚洲精品乱码久久久久久密桃明 | 岛国免费大片在线观看| 国产乱子伦精品视频潮优女| 大陆精品一区二区三区久久| 岛国毛片视频免费在线观看| 99久久成人日韩欧美精品| 精品国产在线手机在线| 亚洲特黄aaaa片| 日本后入视频在线观看| 国产精品熟女久久久久浪潮| 在线制服丝袜中文字幕| 青青青青草手机在线视频免费看 | 青娱乐在线免费视频盛宴| 亚洲av男人的天堂你懂的| 久久综合老鸭窝色综合久久| 女警官打开双腿沦为性奴| 人妻最新视频在线免费观看| 粉嫩av蜜乳av蜜臀| av成人在线观看一区| 最新日韩av传媒在线| 国产精彩对白一区二区三区| 久久久久久久久久久久久97| v888av在线观看视频| 亚洲成高清a人片在线观看| 中国熟女@视频91| 中文字幕在线观看国产片| 日韩一区二区三区三州| 久久精品36亚洲精品束缚| 少妇ww搡性bbb91| 欧美精品中文字幕久久二区| 中文字幕av第1页中文字幕| 3D动漫精品啪啪一区二区下载| 91精品国产观看免费| 免费十精品十国产网站| 亚洲精品一区二区三区老狼| 亚洲图片欧美校园春色| 久久精品久久精品亚洲人| 亚洲色偷偷综合亚洲AV伊人| 懂色av之国产精品| 亚洲精品ww久久久久久| 久久综合老鸭窝色综合久久| 精品一区二区亚洲欧美| 91色秘乱一区二区三区| 日本最新一二三区不卡在线 | 国产成人午夜精品福利| 久久精品国产999| 92福利视频午夜1000看| 中文字幕av男人天堂| 在线播放国产黄色av| 9久在线视频只有精品| 538精品在线观看视频| 欧美天堂av无线av欧美| 2021国产一区二区| 秋霞午夜av福利经典影视| 成人午夜电影在线观看 久久| 亚洲高清视频在线不卡| 女生自摸在线观看一区二区三区| 91大神福利视频网| 男人在床上插女人视频| 中文字幕无码一区二区免费| 老司机在线精品福利视频| 99婷婷在线观看视频| 黑人乱偷人妻中文字幕| 国产精品黄页网站视频| 日韩激情文学在线视频| 日美女屁股黄邑视频| 成人网18免费视频版国产| 99精品视频在线观看免费播放| 国产乱子伦精品视频潮优女| 亚洲欧美另类手机在线| 中文字幕亚洲久久久| 亚洲av成人网在线观看| 欧美视频一区免费在线| 亚洲成人三级在线播放| 国产性生活中老年人视频网站| 成人在线欧美日韩国产| 老有所依在线观看完整版| 青青社区2国产视频| 男人操女人逼逼视频网站| 快点插进来操我逼啊视频| 亚洲丝袜老师诱惑在线观看| 日韩无码国产精品强奸乱伦| 日韩成人综艺在线播放| 中文字幕综合一区二区| 久久精品美女免费视频| 成人影片高清在线观看 | 中文字幕日韩精品就在这里| 欧美黑人性猛交xxxxⅹooo| 日韩美av高清在线| 亚洲精品av在线观看| 成人av电影免费版| 天天艹天天干天天操| 免费观看污视频网站| 天天干天天操天天摸天天射| 国产性感美女福利视频| 亚洲国产成人av在线一区| 午夜美女福利小视频| 深夜男人福利在线观看| 国产精品手机在线看片| 亚洲中文字幕校园春色| 欧美一区二区三区久久久aaa| 亚洲欧洲av天堂综合| 91国偷自产一区二区三区精品| 小穴多水久久精品免费看| 日本乱人一区二区三区| 亚洲va国产va欧美精品88| 亚洲激情偷拍一区二区| 亚洲高清国产拍青青草原| 日韩av有码中文字幕| 青青青激情在线观看视频| 中国熟女@视频91| 男人的网址你懂的亚洲欧洲av| 丰满少妇人妻xxxxx| 成人福利视频免费在线| 日韩视频一区二区免费观看| 国产极品精品免费视频| 天天摸天天干天天操科普| 亚洲在线一区二区欧美| 国产丰满熟女成人视频| 亚洲伊人久久精品影院一美女洗澡| 精内国产乱码久久久久久| av成人在线观看一区| 日韩av有码一区二区三区4| 久久久久久97三级| 成人高清在线观看视频| 午夜大尺度无码福利视频| 色哟哟在线网站入口| 日韩美女搞黄视频免费| 亚洲成人国产av在线| 久久麻豆亚洲精品av| 免费高清自慰一区二区三区网站| 天天干天天操天天爽天天摸| 无套猛戳丰满少妇人妻| 九色精品视频在线播放| 免费高清自慰一区二区三区网站| 偷拍自拍视频图片免费| 欧美viboss性丰满| 一区二区三区日本伦理| gogo国模私拍视频| 热思思国产99re| 蜜桃精品久久久一区二区| 免费费一级特黄真人片| 成人sm视频在线观看| 99婷婷在线观看视频| 女警官打开双腿沦为性奴| 国产又大又黄免费观看| 日本性感美女写真视频| 男人和女人激情视频| 色综合色综合色综合色| 美女大bxxxx内射| ka0ri在线视频| 国产午夜男女爽爽爽爽爽视频 | 无码日韩人妻精品久久| 国产高清精品一区二区三区| 9国产精品久久久久老师| 38av一区二区三区| 国产黑丝高跟鞋视频在线播放| 成人H精品动漫在线无码播放| 欧美久久久久久三级网| 国产女人被做到高潮免费视频| 偷拍自拍视频图片免费| 五月婷婷在线观看视频免费| 亚洲熟妇x久久av久久| 熟女人妻一区二区精品视频| 91精品一区二区三区站长推荐| 日韩一个色综合导航| 中文字幕之无码色多多| 亚洲欧美综合另类13p| 2022国产精品视频| 激情五月婷婷免费视频| 无套猛戳丰满少妇人妻| 日韩av有码一区二区三区4| 精品老妇女久久9g国产| 国产高清在线在线视频| 精产国品久久一二三产区区别| 国产福利在线视频一区| 天天色天天操天天舔| 中文字幕一区的人妻欧美日韩| 91一区精品在线观看| lutube在线成人免费看| 黄页网视频在线免费观看 | 小穴多水久久精品免费看| 福利视频网久久91| 亚洲成人国产综合一区| tube69日本少妇| 精品一区二区三区在线观看| 日韩在线视频观看有码在线| 久久久久久97三级| 狍和女人的王色毛片| 亚洲欧美福利在线观看| 2021最新热播中文字幕| 免费成人av中文字幕| 日本高清撒尿pissing| 加勒比视频在线免费观看| 亚洲卡1卡2卡三卡四老狼| 在线不卡日韩视频播放| 欧美爆乳肉感大码在线观看| 中文字幕一区二区自拍| 视频二区在线视频观看| 东京热男人的av天堂| 在线观看国产网站资源| 天天操夜夜骑日日摸| 亚洲精品国产在线电影| 国产使劲操在线播放| 日韩影片一区二区三区不卡免费| 中文字幕 人妻精品| 国产chinesehd精品麻豆| 青青社区2国产视频| 国产自拍黄片在线观看| 国产高清女主播在线| 午夜精品久久久久久99热| av天堂中文免费在线| 久久久久久99国产精品| 999九九久久久精品| 亚洲免费在线视频网站| 啊啊啊视频试看人妻| 女同性ⅹxx女同h偷拍| 亚洲精品久久综合久| 亚洲图片欧美校园春色| 精品国产在线手机在线| 亚洲视频在线观看高清| 亚洲国产精品久久久久蜜桃| 五十路老熟女码av| 人妻3p真实偷拍一二区| 亚洲综合自拍视频一区| 国产午夜激情福利小视频在线| 天天草天天色天天干| 91大屁股国产一区二区| 成年人黄色片免费网站| 日本韩国免费福利精品| 狠狠躁狠狠爱网站视频| 一区二区三区四区视频| 中文字幕乱码av资源| 老司机欧美视频在线看| 国产中文字幕四区在线观看| 农村胖女人操逼视频| av成人在线观看一区| 欧美日本aⅴ免费视频| 久久精品视频一区二区三区四区| 青青草在观免费国产精品| 美女福利视频网址导航| 亚洲va国产va欧美精品88| 青青青视频手机在线观看| 孕妇奶水仑乱A级毛片免费看| 经典av尤物一区二区| 午夜大尺度无码福利视频| 中文字幕一区二区自拍| 中文字幕综合一区二区| 自拍偷拍,中文字幕| 天天干狠狠干天天操| 中文字幕一区二区人妻电影冢本 | 香蕉aⅴ一区二区三区| 久久久精品精品视频视频| 91香蕉成人app下载| 亚洲精品亚洲人成在线导航| 色综合天天综合网国产成人| 少妇与子乱在线观看| 天天日天天做天天日天天做| 久精品人妻一区二区三区 | 欧美viboss性丰满| 亚洲欧美人精品高清| 精品视频国产在线观看| 99热99re在线播放| 宅男噜噜噜666免费观看| 亚洲午夜在线视频福利| 涩爱综合久久五月蜜臀| 欧美3p在线观看一区二区三区| 一区二区熟女人妻视频| 国产精品久久久黄网站| 欧美精品久久久久久影院| 亚洲精品午夜久久久久| 日本三极片视频网站观看| 中文字幕亚洲久久久| 2021天天色天天干| 毛片一级完整版免费| 免费黄页网站4188| 欧美在线精品一区二区三区视频| 亚洲青青操骚货在线视频| 亚洲一区二区三区五区| 一区二区三区四区中文| av天堂中文字幕最新| 日本一区二区三区免费小视频| 88成人免费av网站| 懂色av之国产精品| 少妇一区二区三区久久久| 2022天天干天天操| 欧美激情电影免费在线| 少妇与子乱在线观看| 在线观看免费视频色97| 四虎永久在线精品免费区二区| 中文字幕高清在线免费播放| 经典国语激情内射视频| 插逼视频双插洞国产操逼插洞| 自拍偷拍一区二区三区图片 | 欧美日本aⅴ免费视频| 亚洲综合另类欧美久久| 日本少妇人妻xxxxxhd| 动漫精品视频在线观看| 熟女人妻一区二区精品视频| 国产大学生援交正在播放| 懂色av之国产精品| 岛国一区二区三区视频在线| 亚洲欧美清纯唯美另类| 97人人模人人爽人人喊| 亚洲成人av一区久久| 欧美黑人与人妻精品| 国产免费av一区二区凹凸四季| 国产精品精品精品999| 人妻丝袜榨强中文字幕| 伊人综合aⅴ在线网| 大尺度激情四射网站| 亚洲专区激情在线观看视频| 亚洲av成人免费网站| 欧美日韩亚洲国产无线码| 中文字幕日韩精品日本| 97人妻人人澡爽人人精品| 天天日天天舔天天射进去| 亚洲高清国产自产av| 黄页网视频在线免费观看| 黄片色呦呦视频免费看| 91麻豆精品秘密入口在线观看| 国产黄色大片在线免费播放| 人妻av无码专区久久绿巨人| 一区二区免费高清黄色视频| 亚洲欧美激情中文字幕| 91色九色porny| 黄色成年网站午夜在线观看|