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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 综合教程 >内容正文

综合教程

缓存穿透解决方案之布隆过滤器(Bloom Filter)原理及Guava中的实现

發(fā)布時(shí)間:2023/12/15 综合教程 24 生活家
生活随笔 收集整理的這篇文章主要介紹了 缓存穿透解决方案之布隆过滤器(Bloom Filter)原理及Guava中的实现 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、什么是緩存穿透

  當(dāng)用戶想要查詢一個(gè)數(shù)據(jù),發(fā)現(xiàn)redis內(nèi)存數(shù)據(jù)庫(kù)沒有,出現(xiàn)緩存未命中,于是轉(zhuǎn)向持久層數(shù)據(jù)庫(kù)查詢。發(fā)現(xiàn)也沒有,于是本次查詢失敗。當(dāng)用戶很多的時(shí)候,緩存都沒有命中,于是都去請(qǐng)求了持久層數(shù)據(jù)庫(kù),給持久層數(shù)據(jù)庫(kù)造成很大的壓力,這就是緩存穿透。

  于是我們就需要有一個(gè)能實(shí)現(xiàn)“快速判斷是否存在”的方案,在確定不存在時(shí)就不在去后臺(tái)查詢數(shù)據(jù)庫(kù)了,避免了緩存穿透,布隆過濾器應(yīng)運(yùn)而生。

二、什么是布隆過濾器

  Bloom Filter是一種空間效率很高的概率型數(shù)據(jù)結(jié)構(gòu),它利用位數(shù)組很簡(jiǎn)潔地表示一個(gè)集合,并能判斷一個(gè)元素是否屬于這個(gè)集合。Bloom Filter的這種高效是有一定代價(jià)的:在判斷一個(gè)元素是否屬于某個(gè)集合時(shí),有可能會(huì)把不屬于這個(gè)集合的元素誤認(rèn)為屬于這個(gè)集合(false positive)。因此,Bloom Filter不適合那些“零錯(cuò)誤”的應(yīng)用場(chǎng)合。而在能容忍低錯(cuò)誤率的應(yīng)用場(chǎng)合下,Bloom Filter通過極少的錯(cuò)誤換取了存儲(chǔ)空間的極大節(jié)省。

  那么它的誕生契機(jī)是什么呢?我們平常在檢測(cè)集合中是否存在某元素時(shí),都會(huì)采用比較的方法。考慮以下情況:

如果集合用線性表存儲(chǔ),查找的時(shí)間復(fù)雜度為O(n)。
如果用平衡BST(如AVL樹、紅黑樹)存儲(chǔ),時(shí)間復(fù)雜度為O(logn)。
如果用哈希表存儲(chǔ),并用鏈地址法與平衡BST解決哈希沖突(參考JDK8的HashMap實(shí)現(xiàn)方法),時(shí)間復(fù)雜度也要有O[log(n/m)],m為哈希分桶數(shù)。

  總而言之,當(dāng)集合中元素的數(shù)量極多(百/千萬級(jí)甚至更多)時(shí),不僅查找會(huì)變得很慢,而且占用的空間也會(huì)大到無法想象。而布隆(BF)過濾器就是解決這個(gè)矛盾的利器。

三、布隆過濾器原理

  BF是由一個(gè)長(zhǎng)度為m比特的位數(shù)組(bit array)k個(gè)哈希函數(shù)(hash function)組成的數(shù)據(jù)結(jié)構(gòu)。位數(shù)組均初始化為0,所有哈希函數(shù)都可以分別把輸入數(shù)據(jù)盡量均勻地散列。

當(dāng)要插入一個(gè)元素時(shí),將其數(shù)據(jù)分別輸入k個(gè)哈希函數(shù),產(chǎn)生k個(gè)哈希值。以哈希值作為位數(shù)組中的下標(biāo),將所有k個(gè)對(duì)應(yīng)的比特置為1。
當(dāng)要查詢(即判斷是否存在)一個(gè)元素時(shí),同樣將其數(shù)據(jù)輸入哈希函數(shù),然后檢查對(duì)應(yīng)的k個(gè)比特。如果有任意一個(gè)比特為0,表明該元素一定不在集合中。如果所有比特均為1,表明該集合有(較大的)可能性在集合中。為什么不是一定在集合中呢?因?yàn)橐粋€(gè)比特被置為1有可能會(huì)受到其他元素的影響,這就是所謂“假陽(yáng)性”(false positive)。相對(duì)地,“假陰性”(false negative)在BF中是絕不會(huì)出現(xiàn)的。

  下圖示出一個(gè)m=18, k=3的BF示例。集合中的x、y、z三個(gè)元素通過3個(gè)不同的哈希函數(shù)散列到位數(shù)組中。當(dāng)查詢?cè)豾時(shí),因?yàn)橛幸粋€(gè)比特為0,因此w不在該集合中。

            

  BF的優(yōu)點(diǎn)是顯而易見的:

不需要存儲(chǔ)數(shù)據(jù)本身,只用比特表示,因此空間占用相對(duì)于傳統(tǒng)方式有巨大的優(yōu)勢(shì),并且能夠保密數(shù)據(jù);
時(shí)間效率也較高,插入和查詢的時(shí)間復(fù)雜度均為O(k);
哈希函數(shù)之間相互獨(dú)立,可以在硬件指令層面并行計(jì)算。

  但是,它的缺點(diǎn)也同樣明顯:

存在假陽(yáng)性的概率,不適用于任何要求100%準(zhǔn)確率的情境;
只能插入和查詢?cè)兀荒軇h除元素,這與產(chǎn)生假陽(yáng)性的原因是相同的。我們可以簡(jiǎn)單地想到通過計(jì)數(shù)(即將一個(gè)比特?cái)U(kuò)展為計(jì)數(shù)值)來記錄元素?cái)?shù),但仍然無法保證刪除的元素一定在集合中。

  布隆過濾器有這么些特點(diǎn):

哈希函數(shù)個(gè)數(shù)k越多,假陽(yáng)性概率越低;
位數(shù)組長(zhǎng)度m越大,假陽(yáng)性概率越低;
已插入元素的個(gè)數(shù)n越大,假陽(yáng)性概率越高。

四、Guava中的布隆過濾器實(shí)現(xiàn)

  1、Bloom Filter成員變量

  Guava中,布隆過濾器的實(shí)現(xiàn)主要涉及到2個(gè)類,BloomFilterBloomFilterStrategies,首先來看一下BloomFilter的成員變量。需要注意的是不同Guava版本的BloomFilter實(shí)現(xiàn)不同。

  /** guava實(shí)現(xiàn)的以CAS方式設(shè)置每個(gè)bit位的bit數(shù)組 */
  private final LockFreeBitArray bits;
  /** hash函數(shù)的個(gè)數(shù) */
  private final int numHashFunctions;
  /** guava中將對(duì)象轉(zhuǎn)換為byte的通道 */
  private final Funnel<? super T> funnel;
  /**
   * 將byte轉(zhuǎn)換為n個(gè)bit的策略,也是bloomfilter hash映射的具體實(shí)現(xiàn)
   */
  private final Strategy strategy;

  這是它的4個(gè)成員變量:

LockFreeBitArray是定義在BloomFilterStrategies中的內(nèi)部類,封裝了布隆過濾器底層bit數(shù)組的操作。
numHashFunctions表示哈希函數(shù)的個(gè)數(shù)。
Funnel,它和PrimitiveSink配套使用,能將任意類型的對(duì)象轉(zhuǎn)化成Java基本數(shù)據(jù)類型,默認(rèn)用java.nio.ByteBuffer實(shí)現(xiàn),最終均轉(zhuǎn)化為byte數(shù)組。
Strategy是布隆過濾器的哈希策略,即數(shù)據(jù)如何映射到位數(shù)組,其具體方法在BloomFilterStrategies枚舉中,主要有2個(gè):put和mightContain。

  2、Bloom Filter構(gòu)造

  創(chuàng)建布隆過濾器,BloomFilter并沒有公有的構(gòu)造函數(shù),只有一個(gè)私有構(gòu)造函數(shù),而對(duì)外它提供了5個(gè)重載的create方法,在缺省情況下誤判率設(shè)定為3%,采用BloomFilterStrategies.MURMUR128_MITZ_64的實(shí)現(xiàn)。

  @VisibleForTesting
  static <T> BloomFilter<T> create(
      Funnel<? super T> funnel, long expectedInsertions, double fpp, Strategy strategy) {
    checkNotNull(funnel);
    checkArgument(
        expectedInsertions >= 0, "Expected insertions (%s) must be >= 0", expectedInsertions);
    checkArgument(fpp > 0.0, "False positive probability (%s) must be > 0.0", fpp);
    checkArgument(fpp < 1.0, "False positive probability (%s) must be < 1.0", fpp);
    checkNotNull(strategy);

    if (expectedInsertions == 0) {
      expectedInsertions = 1;
    }
    /*
     * TODO(user): Put a warning in the javadoc about tiny fpp values, since the resulting size
     * is proportional to -log(p), but there is not much of a point after all, e.g.
     * optimalM(1000, 0.0000000000000001) = 76680 which is less than 10kb. Who cares!
     */
    long numBits = optimalNumOfBits(expectedInsertions, fpp);
    int numHashFunctions = optimalNumOfHashFunctions(expectedInsertions, numBits);
    try {
      return new BloomFilter<T>(new LockFreeBitArray(numBits), numHashFunctions, funnel, strategy);
    } catch (IllegalArgumentException e) {
      throw new IllegalArgumentException("Could not create BloomFilter of " + numBits + " bits", e);
    }
  }

  該方法接受4個(gè)參數(shù):funnel是插入數(shù)據(jù)的Funnel,expectedInsertions是期望插入的元素總個(gè)數(shù)n,fpp即期望假陽(yáng)性率p,strategy即哈希策略。由上可知,位數(shù)組的長(zhǎng)度m和哈希函數(shù)的個(gè)數(shù)k分別通過optimalNumOfBits()方法和optimalNumOfHashFunctions()方法來估計(jì)。

  3、估計(jì)最優(yōu)m值和k值

  @VisibleForTesting
  static long optimalNumOfBits(long n, double p) {
    if (p == 0) {
      p = Double.MIN_VALUE;
    }
    return (long) (-n * Math.log(p) / (Math.log(2) * Math.log(2)));
  }

  @VisibleForTesting
  static int optimalNumOfHashFunctions(long n, long m) {
    // (m / n) * log(2), but avoid truncation due to division!
    return Math.max(1, (int) Math.round((double) m / n * Math.log(2)));
  }

  以上計(jì)算方式是基于推演得出的,此處不再詳述。

  4、哈希函數(shù)

  在BloomFilterStrategies枚舉中定義了兩種哈希策略,都基于著名的MurmurHash算法,分別是MURMUR128_MITZ_32和MURMUR128_MITZ_64。前者是一個(gè)簡(jiǎn)化版,所以我們來看看后者的實(shí)現(xiàn)方法。

enum BloomFilterStrategies implements BloomFilter.Strategy {
    MURMUR128_MITZ_32() {//....}
    MURMUR128_MITZ_64() {//....}
}
MURMUR128_MITZ_64() {
    @Override
    public <T> boolean put(
        T object, Funnel<? super T> funnel, int numHashFunctions, LockFreeBitArray bits) {
      long bitSize = bits.bitSize();
      // 先利用murmur3 hash對(duì)輸入的funnel計(jì)算得到128位的哈希值,funnel現(xiàn)將object轉(zhuǎn)換為byte數(shù)組,
      // 然后在使用哈希函數(shù)轉(zhuǎn)換為long
      byte[] bytes = Hashing.murmur3_128().hashObject(object, funnel).getBytesInternal();
      // 根據(jù)hash值的高低位算出hash1和hash2
      long hash1 = lowerEight(bytes);
      long hash2 = upperEight(bytes);

      boolean bitsChanged = false;
      // 循環(huán)體內(nèi)采用了2個(gè)函數(shù)模擬其他函數(shù)的思想,相當(dāng)于每次累加hash2
      long combinedHash = hash1;
      for (int i = 0; i < numHashFunctions; i++) {
        // Make the combined hash positive and indexable
        // 通過基于bitSize取模的方式獲取bit數(shù)組中的索引,然后調(diào)用set函數(shù)設(shè)置。
        bitsChanged |= bits.set((combinedHash & Long.MAX_VALUE) % bitSize);
        combinedHash += hash2;
      }
      return bitsChanged;
    }

    @Override
    public <T> boolean mightContain(
        T object, Funnel<? super T> funnel, int numHashFunctions, LockFreeBitArray bits) {
      long bitSize = bits.bitSize();
      byte[] bytes = Hashing.murmur3_128().hashObject(object, funnel).getBytesInternal();
      long hash1 = lowerEight(bytes);
      long hash2 = upperEight(bytes);

      long combinedHash = hash1;
      for (int i = 0; i < numHashFunctions; i++) {
        // Make the combined hash positive and indexable
        // 和put的區(qū)別就在這里,從set轉(zhuǎn)換為get,來判斷是否存在
        if (!bits.get((combinedHash & Long.MAX_VALUE) % bitSize)) {
          return false;
        }
        combinedHash += hash2;
      }
      return true;
    }

    private /* static */ long lowerEight(byte[] bytes) {
      return Longs.fromBytes(
          bytes[7], bytes[6], bytes[5], bytes[4], bytes[3], bytes[2], bytes[1], bytes[0]);
    }

    private /* static */ long upperEight(byte[] bytes) {
      return Longs.fromBytes(
          bytes[15], bytes[14], bytes[13], bytes[12], bytes[11], bytes[10], bytes[9], bytes[8]);
    }
  };

  其中put()方法負(fù)責(zé)向布隆過濾器中插入元素,mightContain()方法負(fù)責(zé)判斷元素是否存在。以put()方法為例講解一下流程吧。

使用MurmurHash算法對(duì)funnel的輸入數(shù)據(jù)進(jìn)行散列,得到128bit(16B)的字節(jié)數(shù)組。
取低8字節(jié)作為第一個(gè)哈希值hash1,取高8字節(jié)作為第二個(gè)哈希值hash2。
進(jìn)行k次循環(huán),每次循環(huán)都用hash1與hash2的復(fù)合哈希做散列,然后對(duì)m取模,將位數(shù)組中的對(duì)應(yīng)比特設(shè)為1。

  這里需要注意兩點(diǎn):

在循環(huán)中實(shí)際上應(yīng)用了雙重哈希(double hashing)的思想,即可以用兩個(gè)哈希函數(shù)來模擬k個(gè),其中i為步長(zhǎng):

這種方法在開放定址的哈希表中,也經(jīng)常用來減少?zèng)_突。

哈希值有可能為負(fù)數(shù),而負(fù)數(shù)是不能在位數(shù)組中定位的。所以哈希值需要與Long.MAX_VALUE做bitwise AND,直接將其最高位(符號(hào)位)置為0,就變成正數(shù)了。

  因此在put方法中,先是將索引位置上的二進(jìn)制置為1,然后用bitsChanged記錄插入結(jié)果,如果返回true表明沒有重復(fù)插入成功,而mightContain方法則是將索引位置上的數(shù)值取出,并判斷是否為0,只要其中出現(xiàn)一個(gè)0,那么立即判斷為不存在。

  5、位數(shù)組具體實(shí)現(xiàn)

  Guava為了提供效率,自己實(shí)現(xiàn)了LockFreeBitArray來提供bit數(shù)組的無鎖設(shè)置和讀取,我們來看看LockFreeBitArray類的部分代碼:

static final class LockFreeBitArray {
    private static final int LONG_ADDRESSABLE_BITS = 6;
    final AtomicLongArray data;
    private final LongAddable bitCount;

    LockFreeBitArray(long bits) {
      this(new long[Ints.checkedCast(LongMath.divide(bits, 64, RoundingMode.CEILING))]);
    }

    // Used by serialization
    LockFreeBitArray(long[] data) {
      checkArgument(data.length > 0, "data length is zero!");
      this.data = new AtomicLongArray(data);
      this.bitCount = LongAddables.create();
      long bitCount = 0;
      for (long value : data) {
        bitCount += Long.bitCount(value);
      }
      this.bitCount.add(bitCount);
    }

    /** Returns true if the bit changed value. */
    boolean set(long bitIndex) {
      if (get(bitIndex)) {
        return false;
      }

      int longIndex = (int) (bitIndex >>> LONG_ADDRESSABLE_BITS);
      long mask = 1L << bitIndex; // only cares about low 6 bits of bitIndex

      long oldValue;
      long newValue;
      // 經(jīng)典的CAS自旋重試機(jī)制
      do {
        oldValue = data.get(longIndex);
        newValue = oldValue | mask;
        if (oldValue == newValue) {
          return false;
        }
      } while (!data.compareAndSet(longIndex, oldValue, newValue));

      // We turned the bit on, so increment bitCount.
      bitCount.increment();
      return true;
    }

    boolean get(long bitIndex) {
      return (data.get((int) (bitIndex >>> 6)) & (1L << bitIndex)) != 0;
    }
    // ....
}

  它是采用原子類型AtomicLongArray作為位數(shù)組的存儲(chǔ)的,確實(shí)不需要加鎖。另外還有一個(gè)Guava中特有的LongAddable類型的計(jì)數(shù)器,用來統(tǒng)計(jì)置為1的比特?cái)?shù)。

  采用AtomicLongArray除了有并發(fā)上的優(yōu)勢(shì)之外,更主要的是它可以表示非常長(zhǎng)的位數(shù)組。一個(gè)長(zhǎng)整型數(shù)占用64bit,因此data[0]可以代表第0~63bit,data[1]代表64~127bit,data[2]代表128~191bit……依次類推。這樣設(shè)計(jì)的話,將下標(biāo)i無符號(hào)右移6位就可以獲得data數(shù)組中對(duì)應(yīng)的位置,再在其基礎(chǔ)上左移i位就可以取得對(duì)應(yīng)的比特了。

  上面的代碼中用到了Long.bitCount()方法計(jì)算long型二進(jìn)制表示中1的數(shù)量:

 public static int bitCount(long i) {
    // HD, Figure 5-14
    i = i - ((i >>> 1) & 0x5555555555555555L);
    i = (i & 0x3333333333333333L) + ((i >>> 2) & 0x3333333333333333L);
    i = (i + (i >>> 4)) & 0x0f0f0f0f0f0f0f0fL;
    i = i + (i >>> 8);
    i = i + (i >>> 16);
    i = i + (i >>> 32);
    return (int)i & 0x7f;
 }

  五、Redis實(shí)現(xiàn)布隆過濾器

  上面使用guava實(shí)現(xiàn)布隆過濾器是把數(shù)據(jù)放在本地內(nèi)存中,無法實(shí)現(xiàn)布隆過濾器的共享,我們還可以把數(shù)據(jù)放在redis中,用 redis來實(shí)現(xiàn)布隆過濾器,我們要使用的數(shù)據(jù)結(jié)構(gòu)是bitmap,你可能會(huì)有疑問,redis支持五種數(shù)據(jù)結(jié)構(gòu):String,List,Hash,Set,ZSet,沒有bitmap呀。沒錯(cuò),實(shí)際上bitmap的本質(zhì)還是String。

  要用redis來實(shí)現(xiàn)布隆過濾器,我們需要自己設(shè)計(jì)映射函數(shù),自己度量二進(jìn)制向量的長(zhǎng)度。

public class RedisMain {
    static final int expectedInsertions = 100;//要插入多少數(shù)據(jù)
    static final double fpp = 0.01;//期望的誤判率

    //bit數(shù)組長(zhǎng)度
    private static long numBits;

    //hash函數(shù)數(shù)量
    private static int numHashFunctions;

    static {
        numBits = optimalNumOfBits(expectedInsertions, fpp);
        numHashFunctions = optimalNumOfHashFunctions(expectedInsertions, numBits);
    }

    public static void main(String[] args) {
        Jedis jedis = new Jedis("127.0.0.1", 6379);
        for (int i = 0; i < 100; i++) {
            long[] indexs = getIndexs(String.valueOf(i));
            for (long index : indexs) {
                jedis.setbit("codebear:bloom", index, true);
            }
        }
        for (int i = 0; i < 100; i++) {
            long[] indexs = getIndexs(String.valueOf(i));
            for (long index : indexs) {
                Boolean isContain = jedis.getbit("codebear:bloom", index);
                if (!isContain) {
                    System.out.println(i + "肯定沒有重復(fù)");
                }
            }
            System.out.println(i + "可能重復(fù)");
        }
    }

    /**
     * 根據(jù)key獲取bitmap下標(biāo)
     */
    private static long[] getIndexs(String key) {
        long hash1 = hash(key);
        long hash2 = hash1 >>> 16;
        long[] result = new long[numHashFunctions];
        for (int i = 0; i < numHashFunctions; i++) {
            long combinedHash = hash1 + i * hash2;
            if (combinedHash < 0) {
                combinedHash = ~combinedHash;
            }
            result[i] = combinedHash % numBits;
        }
        return result;
    }

    private static long hash(String key) {
        Charset charset = Charset.forName("UTF-8");
        return Hashing.murmur3_128().hashObject(key, Funnels.stringFunnel(charset)).asLong();
    }

    //計(jì)算hash函數(shù)個(gè)數(shù)
    private static int optimalNumOfHashFunctions(long n, long m) {
        return Math.max(1, (int) Math.round((double) m / n * Math.log(2)));
    }

    //計(jì)算bit數(shù)組長(zhǎng)度
    private static long optimalNumOfBits(long n, double p) {
        if (p == 0) {
            p = Double.MIN_VALUE;
        }
        return (long) (-n * Math.log(p) / (Math.log(2) * Math.log(2)));
    }
}

總結(jié)

以上是生活随笔為你收集整理的缓存穿透解决方案之布隆过滤器(Bloom Filter)原理及Guava中的实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

亚洲一区网站 | 伊人天天狠天天添日日拍 | 黄色aaa级片 | 伊人久在线 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 日韩电影在线观看一区二区三区 | 在线观看日韩精品 | 亚洲人片在线观看 | 国产精品麻豆欧美日韩ww | 天天人人综合 | 日本中文字幕在线观看 | 国产精品一区二区吃奶在线观看 | 国产精品大全 | 91麻豆精品国产午夜天堂 | 久久久久免费精品 | 亚洲视频 一区 | 欧美日韩国产免费视频 | 久久在线观看视频 | 欧美先锋影音 | 缴情综合网五月天 | 久久99热这里只有精品国产 | 国产一级视频在线观看 | 97超碰超碰久久福利超碰 | 毛片一区二区 | 91人人干| 成人av手机在线 | 色综合久久久久 | 西西www4444大胆在线 | 欧美性久久久 | 精品人人人 | 91丨九色丨丝袜 | av天天色 | 国产在线不卡视频 | 免费的黄色av | 91麻豆精品国产91久久久使用方法 | 日韩女同av | 色妞色视频一区二区三区四区 | 国产伦精品一区二区三区免费 | 激情在线网址 | 亚洲视频第一页 | a精品视频 | 91麻豆精品国产91久久久久久久久 | 色黄久久久久久 | 久草在线欧美 | 免费在线色电影 | 久久人人爽人人人人片 | 国产不卡毛片 | 亚洲国产一区在线观看 | 国产精品18久久久久久不卡孕妇 | 色五月激情五月 | 国产精品每日更新 | 国产.精品.日韩.另类.中文.在线.播放 | 视频在线在亚洲 | 亚洲日韩中文字幕在线播放 | 2023国产精品自产拍在线观看 | 中文字幕在线人 | 日韩高清久久 | 亚洲黄色免费 | 国产精品第 | 伊人亚洲综合网 | 日本在线观看中文字幕无线观看 | 欧美日韩在线播放一区 | 999久久久久| 国产麻豆精品95视频 | 成人小视频免费在线观看 | 蜜桃视频在线视频 | 国产精品99久久免费观看 | 亚洲爽爽网 | 精品一区二区三区在线播放 | 狠狠五月婷婷 | 日韩三级在线观看 | 欧美精品国产综合久久 | 香蕉视频最新网址 | 精品国产a | 日韩免费在线网站 | 黄色一级大片在线免费看产 | 久久久免费看片 | 超碰国产97 | a视频在线播放 | 少妇精品久久久一区二区免费 | 国产99久久九九精品 | 永久免费的啪啪网站免费观看浪潮 | 天天综合网久久综合网 | 四虎影视www | 日韩爱爱片 | 91久久精品日日躁夜夜躁国产 | av中文天堂 | 久久久久国产视频 | 欧美极品xxxx | 中文字幕亚洲欧美日韩 | a级一a一级在线观看 | 国产福利一区二区在线 | 在线视频观看国产 | 久草在线观看 | 国产99久久九九精品 | 日黄网站 | 亚洲免费婷婷 | 日本久久久久久科技有限公司 | 久久久不卡影院 | 亚州国产精品视频 | www.eeuss影院av撸 | 国产精品ssss在线亚洲 | 97爱| 国产成人777777 | 久久久久久久久久久精 | 成人一区二区三区中文字幕 | 午夜电影 电影 | 国产精品嫩草在线 | 免费麻豆网站 | 久在线观看 | www.com久久| 久草在线手机视频 | www.亚洲黄| 久久国产精品99久久久久久进口 | 91在线91 | 97精品在线观看 | 国产精品一区二区免费 | 国产小视频在线免费观看视频 | 99久久婷婷国产综合精品 | 97成人精品视频在线播放 | 精品超碰 | 二区三区精品 | 中文字幕在线视频一区 | 五月婷婷爱 | 日韩免费中文 | 免费婷婷| www中文在线 | 欧美三级在线播放 | 欧美日韩不卡一区 | 成年人在线看视频 | 日韩欧美精品一区二区三区经典 | 国产一性一爱一乱一交 | 亚洲一区免费在线 | 亚洲精品资源在线观看 | 天天爽天天爽 | 日韩精品在线视频免费观看 | 国产亚洲欧美日韩高清 | 日狠狠| 日韩网站在线播放 | 天堂入口网站 | 国产高清小视频 | 亚洲精品免费观看 | 狠狠色噜噜狠狠狠狠2021天天 | 欧美激情第一页xxx 午夜性福利 | 国产字幕在线观看 | 日韩精品一区二区三区外面 | 日本激情视频中文字幕 | av免费看av | 中文字幕在线观看播放 | 在线免费高清视频 | 国产精品网红直播 | 中文字幕在线日本 | 日韩在线免费观看视频 | 精品久久久久免费极品大片 | 国产精品黄色 | 成人精品一区二区三区电影免费 | 国产高清不卡在线 | 500部大龄熟乱视频使用方法 | 国产精品久久久久久久久久久免费 | 在线观看黄 | av黄网站| 亚洲精品国偷自产在线91正片 | 在线播放 日韩专区 | a色视频 | 久久精品精品电影网 | 久久久久久久久免费 | 国产手机在线观看 | 久久久久久网址 | 亚洲第一av在线播放 | 久久99深爱久久99精品 | 国产精品大全 | 精品国偷自产国产一区 | 狠狠狠狠狠狠操 | 亚洲涩涩网 | 日韩欧美在线影院 | 亚洲欧美婷婷六月色综合 | 中文字幕在线人 | 看毛片网站 | 日韩精品不卡在线观看 | 激情丁香 | 福利视频网址 | 91成人在线网站 | 91精品国产综合久久福利 | 欧美91精品 | 色婷婷av一区二 | 久草在线看片 | 一区在线免费观看 | 91黄色免费网站 | 久草com| 欧美日本不卡高清 | 91av网站在线观看 | 97成人啪啪网 | 欧美a级在线免费观看 | 一区二区三区三区在线 | 久久久午夜视频 | 午夜婷婷综合 | 激情av五月婷婷 | 特级毛片aaa | 亚洲精色 | 草久久影院 | 91麻豆精品国产91久久久使用方法 | 免费在线观看黄网站 | 国产欧美久久久精品影院 | 久久伊人操 | av大片网址| 91片在线观看 | 在线精品视频免费观看 | 极品国产91在线网站 | 中文字幕a在线 | 天天综合操 | 97在线看片 | 日韩在线视频观看免费 | 欧美一级在线观看视频 | www.夜夜草 | 色99之美女主播在线视频 | 日本高清免费中文字幕 | 国产精品18久久久久久久网站 | 久久久精品久久 | 日韩一级精品 | 综合久久精品 | 91tv国产成人福利 | 亚洲清纯国产 | 欧洲精品码一区二区三区免费看 | 国产中文自拍 | 国产精品资源网 | 深夜福利视频一区二区 | 久久久久久久久艹 | 欧美午夜a | 91视频免费网站 | 久久热亚洲 | av中文字幕在线播放 | 亚洲精品在线免费观看视频 | 亚洲一区日韩精品 | 亚洲精品综合一二三区在线观看 | 欧美一二三视频 | a黄在线观看 | 久久久久免费网 | 国产精品久久久久久久久久尿 | 视频精品一区二区三区 | 日韩在线观看中文 | 少妇做爰k8经典 | 天天综合色 | 精品中文字幕在线播放 | 久久久免费视频播放 | 亚洲二区精品 | 日韩极品视频在线观看 | 四虎国产精品成人免费4hu | 久久久久女人精品毛片 | 日韩乱码在线 | 久久精品亚洲 | 精品国产美女 | 天天干天天在线 | 久久夜色电影 | 久久高清国产视频 | 久久精品视频网站 | 天天天干天天天操 | 91成人午夜| 亚洲国产日韩一区 | 久久免费视频在线 | 香蕉国产91 | 久久精品永久免费 | 国产精品毛片久久久久久久久久99999999 | 在线一区av| 国产成人精品一区二区三区福利 | 黄色软件网站在线观看 | 婷婷六月激情 | 这里只有精品视频在线观看 | 日本黄色免费在线 | 色视频网站在线观看一=区 a视频免费在线观看 | 久久久久久久久久久免费av | 天天色天天干天天色 | 91免费高清| 香蕉色综合 | 黄网站免费久久 | 久久久久女人精品毛片九一 | 九九热在线视频 | 国产毛片久久久 | 日本久久精品视频 | 久精品在线 | 丁香综合激情 | 91麻豆精品久久久久久 | 国产在线日本 | 四虎在线免费观看 | 日韩欧美99 | 亚洲精品一区二区久 | 91大神在线观看视频 | 日韩视频专区 | 婷婷六月天综合 | 超碰激情在线 | 国产精品18久久久久久不卡孕妇 | 国产精品99久久99久久久二8 | 国产黄色网 | 国产黄色免费观看 | 午夜精品一区二区三区在线视频 | 婷婷久月 | 免费在线91 | 免费一级日韩欧美性大片 | 狠狠狠狠狠狠干 | 在线v | 日本精品二区 | 日韩xxxbbb | 国产精品久久久久久久久久妇女 | 亚洲永久精品一区 | 天天操天天干天天综合网 | 热久久精品在线 | 日韩午夜电影 | 国产偷v国产偷∨精品视频 在线草 | 国产又粗又长又硬免费视频 | 黄色成人av网址 | 天天综合精品 | 成人黄色毛片视频 | 色婷婷电影网 | v片在线播放 | 天天插天天干天天操 | 国产亚洲一区 | 五月天久久 | 97香蕉超级碰碰久久免费软件 | 国产久视频 | 天天色天天色天天色 | 久久精品欧美日韩精品 | 一区二区三区福利 | 欧美美女视频在线观看 | 天天操天天舔天天爽 | 久久精品xxx | 九九影视理伦片 | 欧美日韩大片在线观看 | 国产91对白在线 | 精品久久久久久亚洲 | 99视频国产在线 | av成人免费在线看 | 亚洲最大av | 久久字幕精品一区 | 亚洲在线网址 | 经典三级一区 | 麻豆成人精品视频 | 亚洲视频在线观看免费 | 亚洲精品在线免费 | 欧美日韩国产在线观看 | 日韩欧美极品 | 成人久久| 亚洲国产午夜 | 中文字幕 成人 | 中文字幕在线免费看线人 | 亚洲免费不卡 | 国产黄色片在线免费观看 | 女人18毛片90分钟 | 91免费观看视频在线 | h网站免费在线观看 | 日本最新高清不卡中文字幕 | 国产做a爱一级久久 | 日本三级久久久 | 超碰国产在线 | 国内视频在线 | 免费精品视频在线 | 色播亚洲婷婷 | 国产精品区二区三区日本 | 成人久久18免费网站麻豆 | 中文字幕国语官网在线视频 | 久草青青在线观看 | 久久激情五月婷婷 | 伊人天天 | 午夜精品导航 | 国产无套精品久久久久久 | 日本三级中文字幕在线观看 | 最近日韩中文字幕中文 | 日韩毛片在线一区二区毛片 | 黄色网址av | 亚洲综合情 | 少妇bbr搡bbb搡bbb | 91精品第一页 | 韩国一区视频 | 欧美日韩中文在线观看 | 久久免费黄色 | 高清av免费看 | 日韩三级在线观看 | 午夜91视频 | 99亚洲精品在线 | 在线免费视频一区 | 久久综合色婷婷 | 国产精品视频最多的网站 | www.久久久久 | 岛国片在线 | 欧美人体xx| 国产一区欧美二区 | 香蕉视频久久久 | 综合色在线观看 | 久久久久久久久艹 | 97超碰资源网 | 99精品视频中文字幕 | 久草视频在线免费播放 | 免费h漫在线观看 | 国产一区播放 | 久久夜夜操 | 久草在线在线视频 | 在线视频一二三 | 制服丝袜欧美 | 久久国产麻豆 | 99久久婷婷国产综合亚洲 | 天天操天天拍 | 亚洲区色 | 国产在线资源 | 欧美另类交在线观看 | 国产精品日韩欧美一区二区 | 亚洲电影一级黄 | 国产成人精品999 | 免费av高清| 色综合小说 | www.伊人网 | 一级性生活片 | 精品视频免费久久久看 | 狠狠躁夜夜躁人人爽超碰91 | 色瓜 | 青青河边草免费观看 | 91麻豆精品国产91久久久久 | 亚洲日本欧美在线 | 国产精品你懂的在线观看 | 亚洲午夜精品久久久久久久久久久久 | 国产香蕉在线 | 天堂在线一区 | 国产福利一区二区三区在线观看 | 欧美性成人| 午夜影视一区 | av理论电影| 欧美伦理电影一区二区 | 久久香蕉电影网 | 欧美精品乱码久久久久 | 五月婷色| 国产免费三级在线观看 | 国产在线无 | 成人久久久久 | 亚洲精品免费在线 | 91九色蝌蚪国产 | 黄色毛片一级片 | 九色自拍视频 | 一区二区三区日韩视频在线观看 | 黄色特一级片 | 免费在线色电影 | 天天操天天射天天 | 久久久久久看片 | 国产精品美女久久久久久久网站 | 亚洲国产资源 | 久久久免费毛片 | 精品国产99国产精品 | 久久欧美视频 | 日本三级吹潮在线 | 成人影音在线 | 99久久婷婷国产精品综合 | 国产伦理久久精品久久久久_ | 中文字幕欧美日韩va免费视频 | 少妇bbw搡bbbb搡bbb | 欧美久久久一区二区三区 | 麻豆免费视频网站 | 日韩深夜在线观看 | 成年人在线免费看片 | 国产黄 | av在线激情 | 美女黄久久 | 亚洲电影免费 | 中文字幕在线观看第三页 | 成人欧美在线 | 亚洲婷婷综合色高清在线 | 久久久久久久久久久久久久电影 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 91成人网在线观看 | 欧美日一级片 | 一本一本久久a久久精品综合 | 2019中文字幕第一页 | 久草在线观看资源 | 精品成人a区在线观看 | 伊甸园av在线 | 九色在线 | 国内精品久久影院 | 亚洲一区网 | 亚洲国产精品一区二区久久hs | 成人在线电影观看 | 五月天久久婷婷 | 久久国产精品色婷婷 | 国产黄色成人av | 99精品黄色片免费大全 | 国产精品一区电影 | 麻豆一区在线观看 | 久久综合干 | 天天操天天操天天操天天操 | 久久免费国产电影 | 日韩一区二区三免费高清在线观看 | 午夜视频福利 | 精品久久久久久电影 | 免费福利片 | 久久理论影院 | 久久国语 | 国产一级不卡视频 | 欧美夫妻生活视频 | 精品 激情| 欧美激情视频在线观看免费 | 欧美淫aaa免费观看 日韩激情免费视频 | 一级黄色片在线免费观看 | 欧美一区二区三区四区夜夜大片 | 高清av网 | 欧美精品乱码久久久久 | 91少妇精拍在线播放 | 日韩毛片一区 | 特级a老妇做爰全过程 | 亚洲性xxxx | 五月天最新网址 | 国产区精品区 | 最近高清中文字幕 | 在线看v片成人 | 高潮毛片无遮挡高清免费 | 91av在线电影 | 日本三级久久 | 亚洲另类久久 | 国产精品久久一区二区三区, | 日韩欧美视频在线 | 在线观看免费av网站 | 99在线免费视频观看 | 成人午夜电影免费在线观看 | 日日干夜夜操视频 | 黄色三级免费片 | 日韩av黄| 9免费视频| 国产一区成人在线 | 亚洲国产精品电影 | 中文在线中文资源 | 欧美日韩不卡在线观看 | 在线一二区 | 9在线观看免费高清完整版 玖玖爱免费视频 | 国产最新福利 | 女人18片| 狠狠操狠狠干2017 | 欧美日韩国产一区二 | 97在线精品 | 婷婷色网视频在线播放 | 国产免费又爽又刺激在线观看 | 中文成人字幕 | 亚洲aaa毛片| 国模精品一区二区三区 | 又黄又爽免费视频 | av在线在线 | 亚洲精品中文字幕在线 | 摸阴视频 | 国产精品wwwwww | 免费的成人av | 91成人在线视频 | 婷婷六月综合网 | 在线看一区二区 | 久久97超碰 | 日日操天天爽 | 亚洲一区二区黄色 | 午夜国产一区二区三区四区 | 久久久久综合视频 | 人人添人人 | 久久综合9988久久爱 | 超碰国产人人 | 国产二区视频在线 | 97视频在线观看视频免费视频 | 国产成人精品三级 | 色综合天天狠狠 | 91中文字幕在线 | 亚洲综合最新在线 | 成年人在线免费看视频 | 亚洲午夜精品一区 | 国产无限资源在线观看 | 中文字幕国产精品 | 欧美极品一区二区三区 | 婷婷色综合网 | 国产免费国产 | 免费在线观看日韩视频 | 激情黄色一级片 | 久久久久久欧美二区电影网 | 99热在线国产 | 日日夜夜天天久久 | 麻豆超碰| 国产极品尤物在线 | 伊人色**天天综合婷婷 | 天天操天天干天天综合网 | 欧美日韩免费看 | 国产精品 日韩精品 | 国产在线国偷精品产拍免费yy | 午夜久久久久久久久久久 | 97香蕉久久超级碰碰高清版 | 黄毛片在线观看 | 国产艹b视频 | 久久成熟 | 久草www| 日本精品午夜 | 日韩大片免费观看 | 国产黄影院色大全免费 | 国产精品久久久久久久久软件 | 99热在线这里只有精品 | 日韩在线观看影院 | 成人亚洲网 | 在线а√天堂中文官网 | 麻豆国产网站 | 欧美日韩另类视频 | 高潮久久久久久久久 | 在线观看韩日电影免费 | 91视频三区| 91福利免费 | 亚洲欧美一区二区三区孕妇写真 | 久久在线影院 | www久久com| 色五月成人 | 国产精品网红直播 | 国产一区在线免费观看视频 | 高清精品在线 | 国产无遮挡猛进猛出免费软件 | aaa亚洲精品一二三区 | 国产视频久久久 | 一区在线观看 | 黄色小说免费在线观看 | 99热精品在线 | 人人爽网站 | 9999免费视频| 亚洲精品白浆高清久久久久久 | 精品国产伦一区二区三区观看方式 | 亚洲波多野结衣 | 欧美色操 | 免费久久久久久 | 日韩av一卡二卡三卡 | 4438全国亚洲精品在线观看视频 | 亚洲欧美日韩国产一区二区 | 日韩av一区二区三区在线观看 | 亚洲网站在线 | 久久久国产一区二区三区 | 久久久久国产精品视频 | 香蕉影院在线观看 | 激情视频免费在线观看 | 国产精品自在线 | 99国产情侣在线播放 | 久草在线手机视频 | 日韩专区在线观看 | 福利视频一区二区 | 久久天天躁狠狠躁夜夜不卡公司 | 欧美精品久久久久a | 精品国产精品国产偷麻豆 | 中文字幕专区高清在线观看 | 夜夜操综合网 | 久久精品亚洲一区二区三区观看模式 | 2022久久国产露脸精品国产 | 欧美亚洲免费在线一区 | 国产精品久久久久久久免费大片 | 六月丁香伊人 | 狠狠干成人综合网 | 欧美一区二区在线刺激视频 | 国产粉嫩在线 | 91久久在线观看 | 欧美无极色 | 91在线网站| bbbb操bbbb | 黄色软件视频大全免费下载 | 国产亚洲成人网 | 日韩a级免费视频 | 国产精品露脸在线 | 亚洲免费永久精品国产 | 午夜精品一区二区三区在线观看 | 国产电影黄色av | 亚洲更新最快 | 欧美日韩性| 久久精品视频在线观看 | 亚洲一区二区三区91 | 欧女人精69xxxxxx | 精品毛片在线 | 日韩网站在线免费观看 | 天天操天天舔天天爽 | 五月婷婷免费 | 国产亚洲精品女人久久久久久 | 福利视频网站 | 91麻豆精品国产自产在线游戏 | 亚洲1级片 | 国产亚洲成人网 | 视频在线在亚洲 | 亚洲日日射 | 国产精品久久久久久婷婷天堂 | 99久久99久久精品国产片 | 99热在 | 日日夜夜精品视频天天综合网 | 91亚瑟视频 | 91探花国产综合在线精品 | 97av视频在线 | 9992tv成人免费看片 | 久久99精品国产91久久来源 | 91最新国产 | 97超视频 | 成年人视频在线免费观看 | 久久久久久久毛片 | 免费电影一区二区三区 | 欧美aa在线观看 | 欧美99久久 | 国产精品九九九 | 在线超碰av | 久保带人 | 国产免费嫩草影院 | 色综合久久综合中文综合网 | 国产又黄又猛又粗 | a久久免费视频 | 在线观看国产区 | 国内偷拍精品视频 | 亚洲免费色 | 最近2019中文免费高清视频观看www99 | 天天干天天拍天天操天天拍 | av午夜电影 | 色在线视频 | 伊人网站| 久热色超碰 | 日韩r级电影在线观看 | 欧美日韩国产一区二区三区在线观看 | 97免费在线观看视频 | 国产91在| 91九色国产在线 | 天天射天天艹 | 亚洲在线 | 9草在线| 天天爽夜夜爽人人爽一区二区 | 国产剧情一区二区在线观看 | 精品视频123区在线观看 | 视频在线观看91 | 欧美色图狠狠干 | 久久国语露脸国产精品电影 | 久久免费av电影 | 91久久电影 | 亚洲日本精品 | 午夜黄色一级片 | 综合网久久 | 国产精品1区2区在线观看 | 最新日本中文字幕 | 国产中文字幕亚洲 | 99久久精品免费看国产 | 精品国产99国产精品 | 特黄特色特刺激视频免费播放 | 色综合色综合色综合 | 中文字幕av一区二区三区四区 | 天堂av免费观看 | 国语自产偷拍精品视频偷 | www.99av| 天天操 夜夜操 | 婷婷六月网 | 九色精品| 欧美精品久久久久久久亚洲调教 | 少妇bbb搡bbbb搡bbbb | 免费高清av在线看 | 在线观看免费成人 | 亚洲无吗天堂 | 五月天六月色 | 亚洲理论在线观看电影 | 97成人在线视频 | 久久久午夜剧场 | 亚洲精品午夜久久久久久久久久久 | 综合网天天色 | 成人高清在线观看 | 国产一级二级在线播放 | 中文字幕一区在线 | 99c视频在线 | 亚洲精品9| 免费视频一级片 | 国产99久久精品一区二区永久免费 | 午夜性盈盈 | 久久免费影院 | 久久久精品成人 | 日本高清免费中文字幕 | 91系列在线观看 | 97人人人| 国产精品久久久毛片 | 在线观看国产麻豆 | 日韩手机在线观看 | 精品1区2区3区 | av网站在线观看免费 | av免费电影在线观看 | 国产精品伦一区二区三区视频 | 中文字幕一区二区三区四区在线视频 | 国产欧美三级 | 综合铜03 | 久久国产a | 西西444www大胆高清图片 | 免费人成在线观看 | 精品伊人久久久 | 少妇18xxxx性xxxx片| 日韩欧美在线高清 | 日韩中文在线播放 | 久久久久久久影视 | 97视频在线观看免费 | 玖草影院 | 日韩精品在线一区 | 日韩在线观看高清 | 中文字幕在线观看第一页 | 日韩电影中文字幕在线观看 | 人人爽人人乐 | 成年人免费在线观看网站 | 欧美日韩性视频在线 | 久久免费国产视频 | 狠狠狠色丁香综合久久天下网 | 国产精品99在线播放 | 手机在线观看国产精品 | 天天草综合网 | 精品一区二区三区久久久 | 日韩av免费在线电影 | 久久任你操| 亚洲日本欧美在线 | 日韩网 | 狠狠狠色丁香婷婷综合激情 | 成人久久网| aa级黄色大片 | 97色se| 国产一区二区精品久久91 | 天天射天天操天天色 | 欧美激情综合色综合啪啪五月 | 国产91在线观 | а天堂中文最新一区二区三区 | 午夜精品福利一区二区 | 人人干人人做 | 亚洲性少妇性猛交wwww乱大交 | 欧美人人爱 | 久久久久国产一区二区三区 | 色在线免费观看 | 久艹在线观看视频 | 亚洲视频大全 | 黄色一级大片在线免费看产 | 色中射| 91精品国自产在线观看 | 国产丝袜美腿在线 | 久久精品伊人 | 九九99| 中文字幕高清 | 国产无套精品久久久久久 | av一区二区三区在线播放 | 在线成人短视频 | 人人要人人澡人人爽人人dvd | 日韩高清在线一区二区三区 | 免费视频 三区 | 日韩字幕 | 国产精品一区一区三区 | 国产一级在线免费观看 | 免费观看黄 | 中文字幕在线播放av | a午夜电影| 亚洲 欧美 另类人妖 | 欧美国产亚洲精品久久久8v | 伊人影院得得 | 精壮的侍卫呻吟h | 天天操天天色天天射 | 精品久久久久久久久久久久久 | 蜜桃视频在线观看一区 | 99久久er热在这里只有精品15 | 日本黄色免费大片 | 欧美一级爽 | 久久久国产网站 | 激情欧美xxxx| 九九热中文字幕 | 超碰97在线资源站 | 中文字幕在线视频网站 | 国内成人精品视频 | 亚洲精品天天 | 五月婷婷一级片 | 99电影| 视频 国产区 | 久久综合色天天久久综合图片 | 久久久精品国产免费观看一区二区 | 国产高清在线免费 | 天天操操操操操操 | 综合久久久 | 片网站 | av+在线播放在线播放 | 日韩高清不卡在线 | 久久社区视频 | 黄色免费观看视频 | 亚洲黄色av| 91x色| 三级黄色理论片 | 久久福利剧场 | 五月花丁香婷婷 | 韩国av免费在线 | 国产麻豆剧果冻传媒视频播放量 | av免费在线免费观看 | 免费高清在线一区 | 欧美日韩精品免费观看视频 | 中文字幕中文中文字幕 | 91亚洲国产成人久久精品网站 | 免费观看的av网站 | 亚洲视频六区 | 美女视频网站久久 | 在线观看一区二区精品 | 超碰人人乐 | 啪啪免费试看 | 在线视频久久 | 美女网站视频免费都是黄 | 亚洲资源| 欧美日韩18| 91视频成人免费 | 在线亚洲激情 | 中文字幕在线播放av | 一区二区三区 亚洲 | 欧美一级片在线播放 | 日韩免费在线一区 | 一区二区免费不卡在线 | 久久国产视频网站 | 久久精品看片 | 久久人人看 | 亚洲一区二区视频在线 | 亚洲男人天堂a | 国产福利91精品 | 国产精品久久久av | 国产精品欧美久久久久久 | 日韩va在线观看 | 五月天激情在线 | 久久久久免费精品国产 | 国产精品国产三级国产不产一地 | 日韩国产精品一区 | 特级毛片网 | 久久这里只有精品久久 | 一个色综合网站 | www.黄色在线 | 91精品国产91久久久久 | 国产无遮挡又黄又爽在线观看 | 亚洲精品小视频在线观看 | 免费精品国产 | 最新av免费在线 | 久久久国产精品人人片99精片欧美一 | 99爱视频 | 黄色一级动作片 | 麻豆免费视频网站 | 色综合天天在线 | 国产韩国精品一区二区三区 | 久久网址 | 久久色在线播放 | 三级av在线免费观看 | 亚洲男男gaygay无套同网址 | 欧美成年人在线观看 | 国产a国产 | 伊人黄色网 | 在线看一区 | 1024久久 | 国产精品门事件 | 色婷婷久久久 | 一级黄色a视频 | 国产视频在线免费观看 | 成年人免费看片 | 国产精品刺激对白麻豆99 | 国产成人a亚洲精品 | 一级欧美黄 | 国产精品成人久久久久久久 | 中文字幕三区 | 欧美成年性 | 色综合久久88色综合天天 | 欧美专区日韩专区 | 欧美日本啪啪无遮挡网站 | av在线免费在线 | 国产午夜精品视频 | 国产视频2区 | 精品一区二区精品 | 丝袜美女在线观看 | 狠狠操.com| 99久久99视频只有精品 | 国产美女精品久久久 | 美女久久 | 欧美孕交vivoestv另类 | 免费不卡中文字幕视频 | 视频一区在线免费观看 | 免费看黄在线 | 国产一区二区中文字幕 | 91天天操 | 午夜精品福利在线 | 91色九色 | 性色av免费观看 | 国产精品黄网站在线观看 | 叶爱av在线 | 国产一级一片免费播放放 | 97色婷婷成人综合在线观看 | 免费观看成人 | 91三级在线观看 | 国产精品第二十页 | 久久视频国产精品免费视频在线 | 成人网页在线免费观看 | 夜夜骑首页| 午夜精品福利一区二区三区蜜桃 | 久久免费视频在线观看6 | 精品久久久久久亚洲综合网 | 日韩在线观看网站 | 青青看片 | 亚洲日本va中文字幕 | 国产在线2020 | 国产精品免费视频久久久 | 国产精品成人久久 | 成人动漫一区二区 | 91久久久久久国产精品 | 日本成址在线观看 | 亚洲人成网站精品片在线观看 | 日韩激情片在线观看 | 欧美一级特黄高清视频 | 国产成人精品一区在线 | 黄色在线成人 | 亚洲日本黄色 | 激情视频综合网 | 亚洲精品久久久久久久不卡四虎 | 五月天久久久久久 | 91亚洲狠狠婷婷综合久久久 | 日日夜日日干 | 一级黄色大片在线观看 | 亚洲精品免费观看视频 | 四月婷婷在线观看 |