久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

Mybatis 一級緩存與二級緩存的實現(xiàn)

瀏覽:5日期:2023-10-19 11:18:59
mybatis緩存

mybatis作為一個流行的持久化工具,緩存必然是缺少不了的組件。通過這篇文章,就讓我們來了解一下mybatis的緩存。

mybatis緩存類型

說起mybatis的緩存,了解過的同學都知道,mybatis中可以有兩種緩存類型:

第一種,我們通常稱為以及緩存,或者sqlSession級別的緩存,這種緩存是mybatis自帶的,如果mapper中的配置都是默認的話,那么一級緩存也是默認開啟的。 第二種,就是非sqlSession級別的緩存了,我們通常稱為二級緩存,mybatis中的二級緩存需要實現(xiàn)Cache接口,并且配置在mapper中,要先開啟的話,需要一些配置,下面我們會詳細說到。一級緩存

作為mybatis自帶的緩存,我們通過代碼來分析一下其原理。首先,我們來看下一級緩存的效果。測試代碼:

@Testpublic void test_Cache() throws Exception { InputStream input = Resources.getResourceAsStream('mybatis-config.xml'); SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(input); SqlSession sqlSession = factory.openSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); System.out.println('the first query : '); mapper.queryAllUsers(); System.out.println('===================================='); System.out.println('the second query : '); mapper.queryAllUsers(); sqlSession.commit();}

mapper配置如下,我們采用默認配置:

<select resultType='User'> select * from hwc_users</select>

運行結(jié)果如下:

Created connection 1191654595.Setting autocommit to false on JDBC Connection [com.mysql.jdbc.JDBC4Connection@470734c3]==> Preparing: select * from hwc_users ==> Parameters: <== Columns: id, name, age, email<== Row: 1, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 2, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 3, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 4, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 5, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 6, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 7, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 8, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 9, 胡文超, 35, huwenchao@cheryfs.cn<== Total: 9====================================the second query : Cache Hit Ratio [com.huwc.mapper.UserMapper]: 0.0

Process finished with exit code 0

從上述結(jié)果可以看到,第二次查詢并沒有從數(shù)據(jù)庫獲取,并且沒有從二級緩存中獲取,由此可見,默認配置情況下,同一個sqlSession中會默認使用mybatis的一級緩存。

下面,我們從mybatis源碼來看一下:

Mybatis 一級緩存與二級緩存的實現(xiàn)

從上面的代碼中,我們可以看到:一級緩存是在BaseExecutor中命中的,BaseExecutor中的localCache屬性應(yīng)該就是用來存儲查詢結(jié)果的。

localCache的定義代碼如下:

Mybatis 一級緩存與二級緩存的實現(xiàn)

Mybatis 一級緩存與二級緩存的實現(xiàn)

從上述代碼可以看出:

BaseExecutor中集成了一級緩存,一級緩存為PerpetualCache(永久緩存?)的對象,其也是實現(xiàn)了Cache接口的對象,并且其存儲結(jié)果就是簡單的HashMap。并且從代碼上來看,一級緩存是無法禁止的。但是如果一個查詢,我們就是不想讓其從緩存中獲取,必須從數(shù)據(jù)庫查詢,那我們豈不是無法處理了?答案必然是否定的,我們從代碼中可以看到:雖然一級緩存無法跳過,但是我們可以將緩存中數(shù)據(jù)進行清除處理,這樣一級緩存中就獲取不到結(jié)果集了:

Mybatis 一級緩存與二級緩存的實現(xiàn)

如何讓mybatis每次查詢都flush緩存結(jié)果集呢?答案是通過mapper配置中的flushCache屬性來處理:

<select resultType='User' flushCache='true'> select * from hwc_users</select>

加上這個屬性后,我們來看下程序執(zhí)行結(jié)果:

Created connection 1191654595.Setting autocommit to false on JDBC Connection [com.mysql.jdbc.JDBC4Connection@470734c3]==> Preparing: select * from hwc_users ==> Parameters: <== Columns: id, name, age, email<== Row: 1, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 2, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 3, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 4, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 5, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 6, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 7, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 8, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 9, 胡文超, 35, huwenchao@cheryfs.cn<== Total: 9====================================the second query : Cache Hit Ratio [com.huwc.mapper.UserMapper]: 0.0==> Preparing: select * from hwc_users ==> Parameters: <== Columns: id, name, age, email<== Row: 1, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 2, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 3, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 4, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 5, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 6, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 7, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 8, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 9, 胡文超, 35, huwenchao@cheryfs.cn<== Total: 9

Process finished with exit code 0

可以看到,第二次查詢也檢索了數(shù)據(jù)庫來獲取結(jié)果。一級緩存就說到這里吧,下面我們來看看二級緩存。

二級緩存

mybatis的二級緩存是需要借助第三方的緩存來實現(xiàn),常用的有ehcache或者redis,其存儲類型不同,但是在mybatis中的使用方式是一樣的,簡單處理,我們使用ehcache來說明。通常來說,在mybatis中啟用二級緩存,我們需要以下的步驟:

1、在項目中引入ehcache模塊和mybatis-ehcache模塊

2、在項目中加如ehcache配置文件

3、在mybatis配置文件中我們需要在setting中配置cacheEnabled屬性;

4、在mapper配置文件中配置cache屬性,并指定緩存的實現(xiàn)類;

5、在statement中配置useCache屬性為”true“

第一步:首先我們在項目中引入相關(guān)模塊:

<dependency> <groupId>net.sf.ehcache</groupId> <artifactId>ehcache</artifactId> <version>2.10.0</version></dependency><dependency> <groupId>org.mybatis.caches</groupId> <artifactId>mybatis-ehcache</artifactId> <version>1.2.1</version></dependency>

第二步:我們從網(wǎng)上抄一個ehcache的配置文件:ehcache.xml

<?xml version='1.0' encoding='UTF-8'?><ehcache xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='http://ehcache.org/ehcache.xsd' updateCheck='false'> <diskStore path='java.io.tmpdir'/> <defaultCache eternal='false' maxElementsInMemory='1000' overflowToDisk='false' diskPersistent='false' timeToIdleSeconds='0' timeToLiveSeconds='600' memoryStoreEvictionPolicy='LRU'/></ehcache>

第三步:配置mybatis屬性

<setting name='cacheEnabled' value='true'/>

之前,我們說過,mybatis的配置,主要是為了初始化Configuration對象,從Configuration代碼中我們看到,對應(yīng)的屬性默認值就是為true,因此,此步驟也可以跳過,直接采用mybatis的默認值:

Mybatis 一級緩存與二級緩存的實現(xiàn)

第四步:配置mapper中的緩存屬性:

<mapper namespace='com.huwc.mapper.UserMapper'> <cache type='org.mybatis.caches.ehcache.EhcacheCache'></cache> ......</mapper>

第五步:在statement中開啟二級緩存:

<select resultType='User' useCache='true'> select * from hwc_users</select>

測試代碼如下,為了屏蔽一級緩存,我們在第一次查詢和第二次查詢中將sqlSession進行關(guān)閉并重新open:

@Testpublic void test_Cache() throws Exception { InputStream input = Resources.getResourceAsStream('mybatis-config.xml'); SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(input); SqlSession sqlSession = factory.openSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); System.out.println('the first query : '); mapper.queryAllUsers(); sqlSession.close(); sqlSession = factory.openSession(); mapper = sqlSession.getMapper(UserMapper.class); System.out.println('===================================='); System.out.println('the second query : '); mapper.queryAllUsers(); sqlSession.commit();}

執(zhí)行結(jié)果如下:

Created connection 1191654595.Setting autocommit to false on JDBC Connection [com.mysql.jdbc.JDBC4Connection@470734c3]==> Preparing: select * from hwc_users ==> Parameters: <== Columns: id, name, age, email<== Row: 1, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 2, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 3, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 4, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 5, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 6, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 7, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 8, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 9, 胡文超, 35, huwenchao@cheryfs.cn<== Total: 9Resetting autocommit to true on JDBC Connection [com.mysql.jdbc.JDBC4Connection@470734c3]Closing JDBC Connection [com.mysql.jdbc.JDBC4Connection@470734c3]Returned connection 1191654595 to pool.====================================the second query : Cache Hit Ratio [com.huwc.mapper.UserMapper]: 0.5

Process finished with exit code 0

從結(jié)果中,我們可以看到,二級緩存起到了作用,并且命中率為0.5(查詢兩次,一次命中)

下面,我們從mybatis的代碼來看下二級緩存使用:

Mybatis 一級緩存與二級緩存的實現(xiàn)

代碼截圖中,我們看到,二級緩存是在CacheExecutor中進行的調(diào)用,并且最終使用的就是我們的Ehcache:

Mybatis 一級緩存與二級緩存的實現(xiàn)

并且,如果我們在mapper中的statement中也配置了flushCache,那么二級緩存也將在查詢前被清除掉,我們通過測試來看以下:

<select resultType='User' flushCache='true' useCache='true'> select * from hwc_users</select>

執(zhí)行結(jié)果如下:

Created connection 1191654595.Setting autocommit to false on JDBC Connection [com.mysql.jdbc.JDBC4Connection@470734c3]==> Preparing: select * from hwc_users ==> Parameters: <== Columns: id, name, age, email<== Row: 1, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 2, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 3, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 4, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 5, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 6, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 7, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 8, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 9, 胡文超, 35, huwenchao@cheryfs.cn<== Total: 9Resetting autocommit to true on JDBC Connection [com.mysql.jdbc.JDBC4Connection@470734c3]Closing JDBC Connection [com.mysql.jdbc.JDBC4Connection@470734c3]Returned connection 1191654595 to pool.====================================the second query : Cache Hit Ratio [com.huwc.mapper.UserMapper]: 0.5Opening JDBC ConnectionChecked out connection 1191654595 from pool.Setting autocommit to false on JDBC Connection [com.mysql.jdbc.JDBC4Connection@470734c3]==> Preparing: select * from hwc_users ==> Parameters: <== Columns: id, name, age, email<== Row: 1, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 2, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 3, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 4, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 5, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 6, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 7, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 8, 胡文超, 35, huwenchao@cheryfs.cn<== Row: 9, 胡文超, 35, huwenchao@cheryfs.cn<== Total: 9

Process finished with exit code 0

總結(jié):

1、mybatis的緩存處理,都交由Executor來處理,一級緩存是由BaseExecutor處理,二級緩存則由CacheExecutor處理;

2、statement中如果配置了flushCache為true,那么不論是一級緩存還是二級緩存都會失效;

3、要啟用二級緩存,需要在statement中配置useCache為true。

到此這篇關(guān)于Mybatis 一級緩存與二級緩存的實現(xiàn)的文章就介紹到這了,更多相關(guān)Mybatis 一級緩存與二級緩存內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

相關(guān)文章:
主站蜘蛛池模板: 国产精品久久久久9999赢消 | 欧美一区二区三区aa大片漫 | 亚洲免费观看 | 狠狠狠干 | 精品国产999 | 日韩欧美综合 | 成人免费视频观看 | 亚洲成熟少妇视频在线观看 | 一区二区三区在线观看视频 | 日韩成人精品在线 | 午夜免费观看视频 | 波多野结衣一二三四区 | 国产一级特黄aaa | 国产欧美精品一区 | 日本一区二区精品 | 国产精品中文字幕在线观看 | 欧美白人做受xxxx视频 | 久草av在线播放 | 另类中文字幕 | 国产九九九| 巴西性猛交xxxx免费看久久久 | www久久99 | 国产欧美精品区一区二区三区 | 久久伊人一区 | 日本久久精品视频 | 亚洲精品一区中文字幕乱码 | 亚洲精品中文字幕乱码无线 | 青青草视频在线免费观看 | 亚洲国产成人在线视频 | 国产综合视频在线观看 | 一区二区免费视频 | 啪啪网免费 | 一区二区三区四区日韩 | 天天干在线影院 | 日本全黄裸体片 | 91在线看| 国产黄色大片免费看 | 亚洲高清视频一区 | 午夜视频免费 | 午夜影院毛片 | 亚洲综合二 | 国产日韩欧美在线 | 欧美一区二区三区视频 | 亚洲高清在线 | 国产精品免费观看 | 欧美一区 | 国产成人精品一区二区视频免费 | 国产精品久久久久久久久久三级 | 在线精品亚洲欧美日韩国产 | 视频一区二区中文字幕 | 亚洲一区在线日韩在线深爱 | 日韩网站免费观看 | 欧美日韩免费一区二区三区 | 欧美一级毛片免费观看 | 在线日韩一区 | 久久男人天堂 | 黄网站免费在线观看 | 手机在线观看av | 午夜精品福利在线观看 | 久久大| 69黄在线看片免费视频 | 久久综合久久综合久久综合 | 99国产视频| 在线一区二区三区 | 品久久久久久久久久96高清 | 国产激情一区二区三区 | 日本久久久久久久久 | 一区二区视频网站 | 欧美日本韩国一区二区 | 青青草在线免费视频 | 国产有码 | 国产不卡视频在线观看 | 日韩性视频 | 午夜影院在线观看 | 播放一区| 国产激情一区二区三区 | 亚洲日本精品视频 | 在线观看成人高清 | 久久久久久久久一区二区三区 | av一区二区在线观看 | 99爱视频 | 国产在线观看欧美 | 亚洲激情欧美 | 久久69精品久久久久久久电影好 | 国产亚洲精品久 | 欧美九九 | 亚洲 欧美 日韩在线 | 亚洲午夜视频 | 久久久久久久一区二区 | 视频精品一区二区 | 免费观看av电影 | 国产精品久久九九 | 国产成人99 | 国产精品国产三级国产aⅴ 精品91 | 亚洲 欧美 自拍偷拍 | 狠狠撸在线 | 亚洲国产高清在线 | 日本妇人成熟免费视频 | 欧美寡妇偷汉性猛交 | 免费视频二区 | 欧美视频免费在线 | 国产中文字幕在线观看 | 午夜影院免费 | 综合精品久久久 | 少妇久久久 | 国产伦精品一区二区 | 国产欧美精品一区二区三区四区 | 日本三级在线视频 | 成人福利视频 | 久久se精品一区精品二区 | 国产免费看 | 99爱免费观看 | 精品亚洲成a人片在线观看 国产高清在线 | 一区二区影院 | 国产在线乱| 免费观看a视频 | 欧洲另类二三四区 | 精品www | 中文字幕日韩欧美一区二区三区 | 亚洲成人黄色 | 国产成人午夜高潮毛片 | 国产专区在线 | 久久国产精品久久久久久电车 | 国产精品久久久久久av公交车 | 国产免费一区 | 色综合天天 | 亚洲视频三区 | 高清在线一区二区 | 久久久av | 久久中文视频 | 国产一区二区在线播放 | 久久久久久综合 | 国产精品成人在线观看 | 精品久久久免费视频 | 成人在线看片 | 午夜久久av | 99精品网站 | 国产高清视频在线 | 日本免费视频在线观看 | 国产免费高清 | 男人久久天堂 | 欧美日韩专区 | 亚洲激情视频在线观看 | 婷婷在线观看视频 | 日韩视频三区 | 久久理论片| 成人av片在线观看 | 久久久久久麻豆 | 一区二区三区国产 | 中文字幕精品一区久久久久 | 国产精品毛片一区二区 | 国产视频久久 | 欧美日韩精品一区二区三区在线观看 | 精品视频二区 | 亚洲成人高清在线 | 免费啪啪网站 | 久久久久亚洲精品 | 亚洲人网站| 久久亚洲一区二区三区四区五区高 | 在线播放一级片 | 日本好好热视频 | 九色在线播放 | 亚洲国产精品成人 | 亚洲视频观看 | 精品视频久久 | 视频一区在线播放 | 久久久久9999国产精品 | 久久美女视频 | 欧美精品在线看 | 精品久久一区二区三区 | www国产在线观看 | 成人国产精品免费网站 | 91av国产精品 | 国产精品18久久久 | 午夜视频网站 | 在线观看中文字幕 | 男人久久天堂 | 久久久999国产 | 久久美女视频 | xxxx网 | 免费观看特级毛片 | 男女羞羞视频在线免费观看 | 国产精品一区二区免费 | 精品日韩一区二区 | aaaaaa毛片 | 久久精品国产免费 | 欧美一区 | 久久国产欧美一区二区三区精品 | www久久精品| 国产精品女同一区二区久久夜 | 狠狠操狠狠操 | 久久精品中文 | 日韩av在线一区 | 超碰在线播 | 精品久久一区二区三区 | 天天久久 | 黄在线免费观看 | 91视频观看| 深夜福利1000 | 色爱综合| 国产精品自产拍在线观看桃花 | 在线免费观看色视频 | 中文字幕av第一页 | 亚洲欧美在线一区 | 午夜爱爱毛片xxxx视频免费看 | 欧产日产国产精品一二 | 成年人黄色一级毛片 | 国产一区二区精品在线 | 青青操天天干 | 国产欧美久久久久久 | 久久视频在线 | 成人午夜视频网 | 色性视频| 国产精品国色综合久久 | 欧美精品成人一区二区三区四区 | 欧美成人免费在线视频 | 成人在线精品视频 | 91精品国产乱码久久蜜臀 | 国产一区二区视频在线观看 | 欧美成人一区二区三区片免费 | 黄色片免费在线观看视频 | 日本久久久久久久久久久久 | 国产精品a久久久久 | 午夜av电影 | 成人一区二区在线观看 | 黄色在线免费看 | 在线国产一区 | 久久久精品一区二区 | 成人男女激情免费视频 | 日本一区二区中文字幕 | 欧美free性丝袜xxxxhd | 中文字幕1区 | 国内精品一区二区 | 九九视频这里只有精品 | 国产精品一区二区三区四区 | 91久久久久久久久 | 午夜av在线 | 福利精品在线观看 | 中文字幕第二十六页页 | 国产在线综合网 | 成人影院一区二区三区 | 天堂一区二区三区在线 | 自拍第一页 | 久久久久久91亚洲精品中文字幕 | 国产精品视频播放 | 国产精品国产三级国产a | 久草高清在线 | 直接看av的网站 | 免费观看羞羞视频网站 | 亚洲精品视频一区 | 日韩一区二区在线观看 | 精品视频在线免费观看 | 国产精品久久久久久久娇妻 | 久久蜜桃精品一区二区三区综合网 | 精品成人免费一区二区在线播放 | 欧洲成人午夜免费大片 | 麻豆久久久9性大片 | 久久亚洲精品综合 | 成人免费大片黄在线播放 | 久久久久国产精品午夜一区 | 久久精品在线视频 | 日本综合久久 | 91在线观看视频 | 91综合在线观看 | 视频一区 中文字幕 | 亚洲国产精品99久久久久久久久 | 不卡一区二区三区四区 | 亚洲a人 | 久草资源在线视频 | 九九天堂网 | www.日韩| 亚洲视频 欧美视频 | av在线精品 | 国产高清不卡 | 影音先锋中文字幕在线 | 日韩国产一区二区三区 | 中国女人黄色大片 | 免费的av网站 | 日韩视频国产 | 色婷婷综合久久久中文字幕 | 免费中文字幕日韩欧美 | 国产麻豆乱码精品一区二区三区 | 一级性视频| 亚洲综合色自拍一区 | 国产一区在线不卡 | 中文在线视频 | 婷婷激情在线 | 亚洲视频一区二区 | 午夜视频在线 | 久久久久久国产精品 | 日韩中文一区 | 红色av社区 | 激情视频在线观看 | 天天看天天操 | 国产 日韩 欧美 在线 | 国产中文字幕一区 | 高清视频一区 | 一区二区影视 | 亚洲无吗电影 | 中文字幕综合 | 欧美一区二区三区视频 | 国产亚洲一区二区三区在线 | 亚洲精品久久久久久久久久久久久 | 欧美精品一区二区三区在线四季 | 在线视频a| 国产精品久久久久久久久免费桃花 | 999国产在线视频 | 亚洲一区视频在线播放 | www久 | 亚洲精品福利 | 五月婷婷导航 | 91精品国产一区二区 | 亚洲视频综合 | 日本色综合 | 欧洲精品一区二区 | 国产日本韩国在线 | 91在线视频播放 | 亚洲精品日韩综合观看成人91 | 亚洲一区视频在线 | 亚洲欧美在线免费观看 | 欧美日韩一区二区三区不卡视频 | 日日插日日操 | 久草综合网 | 伊人av超碰久久久麻豆 | 国产精品久久久久永久免费观看 | 九九色综合| 国产精品国产三级国产aⅴ入口 | 国产精品一区在线 | 一区在线视频 | 精品国偷自产国产一区 | 中文字幕成人在线 | 欧美精品成人在线视频 | 成人免费毛片高清视频 | 不卡一区| 黄色一级毛片 | 国产一级在线观看 | 九九天堂网 | 精品影院 | 精品欧美一区二区三区久久久 | 亚洲一区二区三区视频 | 亚洲毛片在线 | 欧美午夜寂寞影院 | 色婷婷综合网 | 日韩欧美国产成人一区二区 | 黄视频网站免费观看 | 中文字幕在线观看亚洲 | 欧美一级艳片视频免费观看 | 91久久精品国产亚洲a∨麻豆 | 中文字幕亚洲一区 | 日韩欧美一级精品久久 | 九九久久精品 | 亚洲精品一区在线观看 | 亚洲精品久久久久久国产精华液 | 午夜亚洲| 97视频免费在线观看 | 久久久精品久久久 | 999精品视频 | 久久99热精品免费观看牛牛 | 久久99久 | 日韩欧美一区二区在线观看视频 | 欧美一级毛片免费观看 | 伊人免费视频 | 国产精品久久久久久久岛一牛影视 | 国产91视频一区二区 | 九九福利 | 日本综合视频 | 免费视频一区 | 日韩成人小视频 | 亚洲精品乱码久久观看网 | 国产精品网站在线观看 | 成人区一区二区三区 | 欧美aⅴ| 日本久久精品 | 亚洲精品日韩激情欧美 | 免费视频一区二区 | 可以在线观看的黄色 | 亚洲wu码 | 欧美日韩电影一区 | 五月婷婷导航 | 欧美二区在线 | 中文字幕一区二区三区乱码在线 | 精品国产乱码久久久久久久软件 | 日干夜干天天干 | 亚洲一区二区中文 | 精品日韩在线 | 久草视频首页 | av片在线免费观看 | 久久久久香蕉视频 | 一区二区网站 | 伊人网站| 女同理伦片在线观看禁男之园 | 欧美三级网 | 日本理论片好看理论片 | 欧美日韩一区二区在线 | 久久久91精品国产一区二区精品 | 亚洲一区二区三区免费 | 日本精品一区二区三区在线观看 | 美女福利视频网站 | 综合婷婷 | 草樱av| 午夜在线观看视频 | 一区二区三区在线免费看 | 日韩三级视频 | 日本高清h色视频在线观看 日日干日日操 | 欧美一区二区三区四区不卡 | 久久久久久国产精品久久 | 中文字幕亚洲一区二区三区 | 日韩欧美国产精品综合嫩v 亚洲欧美日韩在线 | 精品日韩在线 | 欧美日韩精品免费观看视频 | 中文字幕视频在线免费 | 超级黄色一级片 | 国语精品久久 | 久久久国产精品入口麻豆 | 国产高清在线精品一区二区三区 | av在线成人| 日韩五月 | 日韩在线看片 | 91亚洲狠狠婷婷综合久久久 | 亚洲视频中文字幕 | 欧美激情综合色综合啪啪五月 | 日韩免费片 | 97精品久久| 日韩一区二区在线免费 | 一区二区久久 | 国产一级淫片a级aaa | 一级黄色大片 | 久久久午夜爽爽一区二区三区三州 | 久久99国产精品久久99大师 | 可以在线观看的av网站 | 在线视频成人 | 色婷婷av久久久久久久 | 亚洲国产字幕 | 日本三级全黄 | 综合网激情五月 | 国产最新一区 | 亚洲高清www | 精品国产仑片一区二区三区 | 国产视频中文字幕 | 蜜桃视频网站在线观看 | 午夜国产影院 | 亚洲精品一区二区另类图片 | 亚洲国产婷婷 | 日韩欧美视频 | 视频在线一区二区三区 | 日本一区二区三区免费观看 | 一区二区在线视频 | 久久久久中文字幕 | 国产成人综合网 | 国产精品久久久久国产a级 91福利网站在线观看 | 久久久精品免费观看 | 日韩小视频网站 | 久久精品这里热有精品 | 免费成人在线观看视频 | 欧美性猛交一区二区三区精品 | 激情久久久 | 91精品久久久久久久久久入口 | 国产精品永久在线 | 午夜影院在线观看 | 亚洲第一区国产精品 | 综合久久一区 | 久久综合电影 | 亚洲三区电影 | 91精产国品一二三区在线观看 | 精品视频在线免费观看 | 亚洲a网站 | 欧美自拍视频在线 | 国产成人精品亚洲日本在线观看 | 91精品在线播放 | 涩涩导航 | 日韩欧美中文 | 午夜小影院 | 久久久久国产精品 | 久久久综合亚洲91久久98 | 欧美成年黄网站色视频 | 国产精品久久久久久久久久 | 国产精品毛片久久久久久久 | 97久久精品人人做人人爽50路 | 真人一级毛片 | 日本天堂一区二区 | 成人免费在线电影 | 国产中文字幕在线 | 国产视频福利在线 | 欧美精品一区二区三区蜜桃视频 | 日韩精品一区二区三区第95 | 日本免费电影一区 | 99国产精品久久久久久久成人热 | 亚洲一区免费观看 | 日韩精品在线观看视频 | 人人看人人草 | 亚洲精品中文视频 | 免费大片黄在线观看 | 羞羞视频网站免费看 | 国产精品美女久久久久久久久久久 | 欧美激情在线播放 | 日韩av不卡在线 | 亚洲怡红院在线观看 | 日本a在线| 娇妻被朋友调教成玩物 | 亚洲色图综合 | 国产亚洲欧美一区二区三区 | 欧美久久久久久久久久久久久久 | 蜜桃一区 | 国产网站在线播放 | 99小视频 | 国产高清精品一区二区三区 | 久久成人综合网 | 亚洲精品视频在线播放 | 操到爽 | 久久久精品高清 | 亚洲一区在线视频 | 久在线视频 | 国产无区一区二区三麻豆 | 欧美国产在线观看 | av在线免费观看一区二区 | 中文字幕在线观看 | 亚洲免费网站 | 97国产精品视频 | 国产成人精品一区二区三区视频 | 国产精品视频一区二区三区 | 一区二区av在线 | 日本aa级毛片免费观看 | 亚洲日韩中文字幕一区 | 欧美日韩一区二区在线观看 | 日韩av视屏 | 久久免费视频国产 | 欧美日韩精品亚洲 | 国产中文在线 | 青青久久 | 久久婷婷色| 亚洲一区久久久 | 久久久www成人免费精品 | 日本激情视频在线播放 | 久久99久久99精品免观看粉嫩 | 欧美日韩中文字幕在线 | 免费毛片网 | 午夜午夜精品一区二区三区文 | 欧美精品v国产精品v日韩精品 | 国产精品一区二区无线 | 国产日韩精品视频 | 国产女人和拘做受在线视频 | 欧美性一区二区三区 | 91麻豆精品国产91久久久久久久久 | 欧美一级欧美三级在线观看 | 国产专区在线 | 国产视频2021 | 在线视频亚洲 | 欧美黄色一区 | 99爱在线观看 | 成人精品视频在线 | 国产麻豆乱码精品一区二区三区 | 欧美一级黄色片网站 | 亚洲一区视频在线播放 | 日韩在线视频在线观看 | 91精品久久久久久久久久 | 久久久国产视频 | 日韩成人精品在线 | 久久精品欧美一区二区三区不卡 | 欧洲精品视频在线观看 | 欧美黄色网| 国产欧美久久一区二区三区 | a级在线观看 | 欧美日本精品 | 亚洲精久久 | 久久69精品久久久久久久电影好 | 精品无人乱码一区二区三区 | 亚洲午夜电影 | 天天影视网色香欲综合网无拦截 | 欧美在线a | 在线91 | 欧美在线一区二区三区 | 在线观看91视频 | www.久久| 性色av一区二区三区 | 一区二区三区在线 | 亚洲精品在线成人 | 欧美亚洲| 神马午夜 | 国产精品久久久久久久竹霞 | 蜜桃视频一区二区三区 | 日韩视频―中文字幕 | www久久久久久久 | 欧美成人免费视频 | 日韩激情综合 | 91色视频在线观看 | 五月激情综合 | 日韩视频在线免费观看 | 中文字幕高清在线 | 国产精品国产三级国产aⅴ 羞羞的视频在线 | 中文字幕亚洲第一 | 亚洲视频精品在线 | 蜜月aⅴ免费一区二区三区 99re在线视频 | 成人天堂噜噜噜 | 亚洲三区在线观看 | 91av免费在线观看 | 一区免费看 | 天天夜夜操 | 亚洲丶国产丶欧美一区二区三区 | 日韩激情一区二区 | 国产成人99久久亚洲综合精品 | 一区二区三区四区国产 | www日本在线| 欧美精品在线视频 | 亚洲精品日韩激情在线电影 | 精品一二区 | 韩国av片在线观看 | 国产成人精品亚洲日本在线观看 | 国产精品25p | 午夜在线 | 欧美三级视频 | 亚洲一区欧美一区 | 亚洲国产精品久久人人爱 | h色视频在线观看 | 久久久成人av | 日日碰碰 |