中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

MySQL HandlerSocket插件安裝配置教程
來源:易賢網(wǎng) 閱讀:1787 次 日期:2014-04-22 14:14:08
溫馨提示:易賢網(wǎng)小編為您整理了“MySQL HandlerSocket插件安裝配置教程”,方便廣大網(wǎng)友查閱!

MySQL HandlerSocket插件安裝配置教程

這篇文章主要介紹了MySQL HandlerSocket插件安裝配置,包括PHP HandlerSocket插件的安裝配置.

一、HandlerSocket是什么?

HandlerSocket是akira higuchi寫的一個(gè)MySQL的插件。以MySQL Daemon Plugin的形式提供類似NoSQL的網(wǎng)絡(luò)服務(wù),通過這個(gè)插件,你可以直接跟MySQL后端的存儲(chǔ)引擎做key-value式的交互,省去了MySQL上層的SQL解釋、打開關(guān)閉表、創(chuàng)建查詢計(jì)劃等CPU開銷。

目前使用MySQL的網(wǎng)站,多半同時(shí)使用Memcache作為鍵值緩存。雖然這樣的架構(gòu)極其流行,有眾多成功的案例,但過于依賴Memcache,無形中讓Memcache成為故障的根源:

Memcache數(shù)據(jù)一致性的問題:當(dāng)MySQL數(shù)據(jù)變化后,如果不能及時(shí)有效的清理掉過期的數(shù)據(jù),就會(huì)造成數(shù)據(jù)不一致。這在強(qiáng)調(diào)即時(shí)性的Web2.0時(shí)代,不可取。

Memcache崩潰后的雪崩效應(yīng):作為緩存的Memcache一旦崩潰,MySQL很可能在短時(shí)間內(nèi)承受高負(fù)載而宕機(jī)。

注:關(guān)于清理過期數(shù)據(jù)的問題,可以在程序架構(gòu)上想辦法,如果數(shù)據(jù)操作有統(tǒng)一DAO封裝的話,可以利用Observer模式來清理過期數(shù)據(jù),非主題內(nèi)容,資料自查。

面對以上問題,HandlerSocket項(xiàng)目是個(gè)不錯(cuò)的解決方案,它通過插件的方式賦予MySQL完整的NoSQL功能,從原理上講,它跳過MySQL中最耗時(shí)的語法解析,查詢計(jì)劃等步驟,直接讀取數(shù)據(jù),如果內(nèi)存夠大,能裝下索引,MySQL的查詢效率能提高若干倍!

HandlerSocket:https://github.com/ahiguti/HandlerSocket-Plugin-for-MySQL

php-handlersocket:http://code.google.com/p/php-handlersocket/

系統(tǒng)信息約定:

系統(tǒng)版本:CentOS 6.3 X86

PHP安裝目錄:/usr/local/webserver/php5318

MySQL安裝目錄:/usr/local/webserver/mysql5520

HandlerSocket安裝路徑:/usr/local/webserver/handlersocket

二、安裝配置HandlerSocket

安裝之前建議你先安裝相關(guān)支持及需要的組件包:

代碼如下:yum install gcc gcc-c++ libtool make openssl-devel perl-DBI perl-DBD-MySQL

yum install rpm-build gperf readline-devel ncurses-devel time perl-Time-HiRes

1. 安裝

如果使用Percona Server版本的MySQL就簡單了,因?yàn)樗呀?jīng)內(nèi)置了HandlerSocket支持,不過考慮到其內(nèi)置的版本不夠新,存在一些早已修復(fù)的BUG,所以最好采用源代碼編譯。HandlerSocket是基于MySQL數(shù)據(jù)庫的,因此在安裝HanderSocket前需要先按照常規(guī)方式部署MySQL服務(wù),同時(shí)需注意HandlerSocket時(shí)需要MySQL的源碼,因此還需要MySQL源碼編譯方式安裝。

代碼如下:

[root@iredmail opt]# git clone https://github.com/ahiguti/HandlerSocket-Plugin-for-MySQL.git

[root@iredmail opt]# cd HandlerSocket-Plugin-for-MySQL

[root@iredmail HandlerSocket-Plugin-for-MySQL]# ./autogen.sh

[root@iredmail HandlerSocket-Plugin-for-MySQL]#./configure --prefix=/usr/local/webserver/handlersocket --with-mysql-source=/opt/mysql-5.5.20 --with-mysql-bindir=/usr/local/webserver/mysql5520/bin --with-mysql-plugindir=/usr/local/webserver/mysql5520/lib/mysql/plugin

Tips:

--with-mysql-source 指定MySQL源碼所在目錄

--with-mysql-bindir 表示MySQL二進(jìn)制可執(zhí)行文件目錄

--with-mysql-plugindir 指定MySQL插件的存儲(chǔ)路徑,如果不清楚這個(gè)目錄在哪,可以按如下方法查詢:

代碼如下:mysql> show variables like 'plugin%';

+---------------+-------------------------------------------+

| Variable_name | Value                                     |

+---------------+-------------------------------------------+

| plugin_dir    | /usr/local/webserver/mysql5520/lib/plugin |

+---------------+-------------------------------------------+

1 row in set (0.00 sec)

[root@iredmail HandlerSocket-Plugin-for-MySQL]# make

常見錯(cuò)誤:

代碼如下:libtool: link: only absolute run-paths are allowed

make[2]: *** [handlersocket.la] Error 1

make[2]: Leaving directory `/opt/HandlerSocket-Plugin-for-MySQL/handlersocket'

make[1]: *** [all-recursive] Error 1

make[1]: Leaving directory `/opt/HandlerSocket-Plugin-for-MySQL'

make: *** [all] Error 2

解決方法:

[root@iredmail HandlerSocket-Plugin-for-MySQL]# vi handlersocket/Makefile

line 301:

$(handlersocket_la_LINK) -rpath $(pkgplugindir) $(handlersocket_la_OBJECTS) $(handlersocket_la_LIBADD) $(LIBS)

-->

$(handlersocket_la_LINK) -rpath /opt/HandlerSocket-Plugin-for-MySQL/handlersocket $( handlersocket_la_OBJECTS) $(handlersocket_la_LIBADD) $(LIBS)

[root@iredmail HandlerSocket-Plugin-for-MySQL]#make install

完成后,mysql-plugindir目錄下應(yīng)有handlersocket相關(guān)文件

2、配置MySQL:

修改my.cnf配置文件:

代碼如下:[root@iredmail HandlerSocket-Plugin-for-MySQL]# vi /etc/my.cnf

[mysqld]

plugin-load=handlersocket.so(plugin-load可略過不配)

loose_handlersocket_port = 9998 # 指定讀請求端口號(hào)

# the port number to bind to (for read requests)

loose_handlersocket_port_wr = 9999 # 指定寫請求端口號(hào)

# the port number to bind to (for write requests)

loose_handlersocket_threads = 16 # 指定讀線程數(shù)目

# the number of worker threads (for read requests)

loose_handlersocket_threads_wr = 1 # 指定寫線程數(shù)目

# the number of worker threads (for write requests)

open_files_limit = 65535

# to allow handlersocket accept many concurren connections, make open_files_limit as large as possible.

Tips:InnoDB的innodb_buffer_pool_size,或MyISAM的key_buffy_size等關(guān)系到緩存索引的選項(xiàng)盡可能設(shè)置大一些,這樣才能發(fā)揮HandlerSocket的潛力。

登陸MySQL并激活HandlerSocket插件:

代碼如下:[root@iredmail HandlerSocket-Plugin-for-MySQL]# mysql -uroot -p

mysql> install plugin handlersocket soname 'handlersocket.so';

ERROR 1126 (HY000): Can't open shared library '/usr/local/webserver/mysql5520/lib/plugin/handlersocket.so' (errno: 2 cannot open shared object file: No such file or directory)

說明:這里提示沒有找到handlersocket.so擴(kuò)展文件,請查看擴(kuò)展文件是否存在。

mysql> install plugin handlersocket soname 'handlersocket.so';

Query OK, 0 rows affected (0.00 sec)

mysql> quit;

至此,HandlerSocket插件安裝完畢。

重啟mysql服務(wù):

復(fù)制代碼 代碼如下:[root@iredmail HandlerSocket-Plugin-for-MySQL]# service mysqld restart

3、HandlerSocket狀態(tài)測試:

名單

也可以通過查詢剛配置的端口是否已經(jīng)被MySQL占用來確認(rèn)是否安裝成功:

代碼如下:[root@iredmail HandlerSocket-Plugin-for-MySQL]# lsof -i -P | grep mysqld

mysqld    26871 mysql   11u  IPv4  72467      0t0  TCP *:9998 (LISTEN)

mysqld    26871 mysql   29u  IPv4  72469      0t0  TCP *:9999 (LISTEN)

mysqld    26871 mysql   31u  IPv4  72474      0t0  TCP *:3306 (LISTEN)

Tips:If ports 9998 and 9999 don't show up.  Make sure SELinux is not running.

三、安裝配置 php-handlersocket 擴(kuò)展模塊:

1、安裝php-handlersocket擴(kuò)展

代碼如下:[root@iredmail opt]# wget http://php-handlersocket.googlecode.com/files/php-handlersocket-0.3.1.tar.gz

[root@iredmail opt]# tar -zxvf php-handlersocket-0.3.1.tar.gz

[root@iredmail opt]# cd handlersocket/

[root@iredmail handlersocket]# /usr/local/webserver/php5318/bin/phpize

[root@iredmail handlersocket]# ./configure --with-php-config=/usr/local/webserver/php5318/bin/php-config

./configure可加參數(shù):

名單

Tips:If you get error:

configure: error: Can't find hsclient  headers,please install libhsclient first,Or ./configure--disable-handlersocket-hsclient --with-php-config=/usr/local/webserver/php5318/bin/php-config use native type.

代碼如下:[root@iredmail handlersocket]#make && make install

A successful install will have created handlersocket.so and put it into the PHP extensions directory. You'll need to and adjust php.ini and add an extension=handlersocket.so line before you can use the extension.

復(fù)制代碼 代碼如下:[root@iredmail handlersocket]# vi /usr/local/webserver/php5318/etc/php.ini

extension=handlersocket.so

至此php擴(kuò)展安裝完成,放問php.info頁面,我們可以看到已經(jīng)成功加載了handlersocket擴(kuò)展

名單

2、php-handlersocket 使用示例:

代碼如下:

/*

 * String  $host:MySQL ip;

 * String  $port:handlersocket插件的監(jiān)聽端口,它有兩個(gè)端口可選:一個(gè)用于讀、一個(gè)用于寫

 */

$hs = new HandlerSocket($host, $port);

打開一個(gè)數(shù)據(jù)表:

/*

 * Int       $index:這個(gè)數(shù)字相當(dāng)于文件操作里的句柄,HandlerSocket的所有其他方法都會(huì)依據(jù)這個(gè)數(shù)字來操作由這個(gè)   openIndex打開的表,

 * String  $dbname:庫名

 * String  $table:表名

 * String  $key:表的“主鍵”(HandlerSocket::PRIMARY)或“索引名”作為搜索關(guān)鍵字段,這就是說表必須有主鍵或索引

 *                 個(gè)人理解:要被當(dāng)做where條件的key字段,這樣可以認(rèn)為handlersocket只有一個(gè)where條件

 * String  $column:'column1,column2' 所打開表的字段(以逗號(hào)隔開),就是說$table表的其他字段不會(huì)被操作

 */

$hs->openIndex($index, $dbname, $table, $key, $column);

查詢:

/*

 * Int     $index: openIndex()所用的$index

 * String  $operation:openIndex方法中指定的$key字段所用的操作符,目前支持'=', '>=', '< =', '>',and '< ';可以理解為where條件

 * Array   $value

 * Int       $number(默認(rèn)是1):獲取結(jié)果的最大條數(shù);相當(dāng)于SQL中l(wèi)imit的第二個(gè)參數(shù)

 * Int     $skip(默認(rèn)是0):跳過去幾條;相當(dāng)于SQL中l(wèi)imit的第一個(gè)參數(shù)

 */

$retval = $hs->executeSingle($index, $operation, $value, $number, $skip);

插入(注意:此處的openIndex要用$port_wr,即讀寫端口):

/*

 * Int     $index: openIndex()所用的$index

 * Array   $arr:數(shù)字元素?cái)?shù)與openIndex的$column相同

 */

$retval = $hs->executeInsert($index, $arr);

刪除(注意:此處的openIndex要用$port_wr,即讀寫端口):

/*

 * Int     $index: openIndex()所用的$index

 * String  $operation:openIndex方法中指定的$key字段所用的操作符,目前支持'=', '>=', '< =', '>',and '< ';可以理解為where條件

 * Array   $value

 * Int     $number(默認(rèn)是1):獲取結(jié)果的最大條數(shù);相當(dāng)于SQL中l(wèi)imit的第二個(gè)參數(shù)

 * Int     $skip(默認(rèn)是0):跳過去幾條;相當(dāng)于SQL中l(wèi)imit的第一個(gè)參數(shù)

 */

$retval = $hs->executeDelete($index, $operation, $value, $number, $skip);

更新(注意:此處的openIndex要用$port_wr,即讀寫端口):

/*

 * Int     $index: openIndex()所用的$index

 * String  $operation:openIndex方法中指定的$key字段所用的操作符,目前支持'=', '>=', '< =', '>',and '< ';可以理解為where條件

 * Array   $value

 * Int       $number(默認(rèn)是1):獲取結(jié)果的最大條數(shù);相當(dāng)于SQL中l(wèi)imit的第二個(gè)參數(shù)

 * Int     $skip(默認(rèn)是0):跳過去幾條;相當(dāng)于SQL中l(wèi)imit的第一個(gè)參數(shù)

 */

$retval = $hs->executeUpdate($index, $operation, $value, $number,$skip);

Example:

測試庫 hstestdb,測試表hstesttbl:

代碼如下:CREATE TABLE `hstesttbl` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `k` char(6) DEFAULT NULL,

  `v` char(6) DEFAULT NULL,

  PRIMARY KEY (`id`),

  KEY `idx_hstesttbl_k` (`k`)

) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;

PHP Test Code:

代碼如下:

$host       = 'localhost';

$port       = 9998;

$port_wr    = 9999;

$dbname     = 'hstestdb';

$table      = 'hstesttbl';

//GET

$hs = new HandlerSocket($host, $port);

if (!($hs->openIndex(1, $dbname, $table, HandlerSocket::PRIMARY, 'k,v'))) {

    echo $hs->getError(), PHP_EOL;

    die();

}

$retval = $hs->executeSingle(1, '=', array('k1'), 1, 0);

var_dump($retval);

$retval = $hs->executeMulti(

    array(

        array(1, '=', array('k1'), 1, 0),

        array(1, '=', array('k2'), 1, 0)

    )

);

var_dump($retval);

unset($hs);

//UPDATE

$hs = new HandlerSocket($host, $port_wr);

if (!($hs->openIndex(2, $dbname, $table, '', 'v'))) {

    echo $hs->getError(), PHP_EOL;

    die();

}

if ($hs->executeUpdate(2, '=', array('k1'), array('V1'), 1, 0) === false) {

    echo $hs->getError(), PHP_EOL;

    die();

}

unset($hs);

//INSERT

$hs = new HandlerSocket($host, $port_wr);

if (!($hs->openIndex(3, $dbname, $table, '', 'k,v'))) {

    echo $hs->getError(), PHP_EOL;

    die();

}

if ($hs->executeInsert(3, array('k2', 'v2')) === false) {

    echo $hs->getError(), PHP_EOL;

}

if ($hs->executeInsert(3, array('k3', 'v3')) === false) {

    echo 'A', $hs->getError(), PHP_EOL;

}

if ($hs->executeInsert(3, array('k4', 'v4')) === false) {

    echo 'B', $hs->getError(), PHP_EOL;

}

unset($hs);

//DELETE

$hs = new HandlerSocket($host, $port_wr);

if (!($hs->openIndex(4, $dbname, $table, '', ''))) {

    echo $hs->getError(), PHP_EOL;

    die();

}

if ($hs->executeDelete(4, '=', array('k2')) === false) {

    echo $hs->getError(), PHP_EOL;

    die();

}

?>

Tips:理論上HandlerSocket支持MyISAM,InnoDB等各種引擎,不過推薦使用InnoDB。

Tips:To avoid the insert error,Please remember set storage engine:InnoDB.

Tips:對HandlerSocket一個(gè)常見的誤解是只能執(zhí)行PRIMARY類型的KV查詢,實(shí)際上只要支持索引,一般的簡單查詢它都能勝任,這里就不多說了,官方文檔 里有介紹。

HandlerSocket的缺陷:

(1)寫操作并沒有淘汰查詢緩存——如果執(zhí)行了寫操作通過HandlerSocket,由于沒有失效查詢緩存, 那么你可能從MySQL讀到舊的數(shù)據(jù);

(2)不支持自動(dòng)遞增——插入時(shí)無法從自增列上自動(dòng)獲得增量值。

鑒于以上問題,揚(yáng)長避短,使用其合并查詢操作,發(fā)揮其NoSQL性能獲取MySQL的InnoDB類型表數(shù)據(jù),具體操作如下:

代碼如下:

<?php 

// 通過handlersocket獲取數(shù)據(jù) 

$hs = new HandlerSocket(HS_HOST, HS_PORT); 

if (!($hs->openIndex(1, 'dbname', 'table', HandlerSocket::PRIMARY, 'id,content,create_uid,create_user,created,state'))){ 

   echo $hs->getError(), PHP_EOL; 

   die(); 

$dataList = array(); 

foreach ($ids as $id) {

   $dataList[] = array(1, "=", array($id)); 

$data = $hs->executeMulti($dataList); 

寫在最后的:

MySQL5.6提供原生的Memcached API,實(shí)際就是KV型NoSQL了,但HandlerSocket并不局限于KV形式,所以仍然有生存空間。

更多信息請查看IT技術(shù)專欄

更多信息請查看數(shù)據(jù)庫
易賢網(wǎng)手機(jī)網(wǎng)站地址:MySQL HandlerSocket插件安裝配置教程
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2026上岸·考公考編培訓(xùn)報(bào)班

  • 報(bào)班類型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
国产欧美一区二区三区另类精品 | 欧美日韩亚洲高清一区二区| 亚洲欧美综合v| 久久精品国产亚洲a| 欧美欧美在线| 性欧美xxxx大乳国产app| 欧美午夜宅男影院在线观看| 一区二区三区欧美日韩| 一区免费视频| 国产精品稀缺呦系列在线| 国产欧美日韩免费看aⅴ视频| 国产精品久久久免费| 裸体歌舞表演一区二区| 久久久综合免费视频| 香蕉av777xxx色综合一区| 国产精品h在线观看| 亚洲免费网址| 一区免费观看| 亚洲福利久久| 欧美连裤袜在线视频| 久久av一区二区三区| 国产人久久人人人人爽| 欧美成人自拍视频| 亚洲人成在线观看| 日韩亚洲成人av在线| 亚洲欧美日韩国产中文 | 久久精品综合| 欧美风情在线观看| 韩日在线一区| 亚洲综合社区| 国产精品推荐精品| 野花国产精品入口| 欧美日韩亚洲国产精品| 尤物精品在线| 欧美一区激情| 国产精品久久久久久久久久免费| 国产一区二区三区直播精品电影 | 久久亚洲国产成人| 亚洲激情另类| 欧美成人久久| 国产主播精品在线| 久久综合狠狠综合久久综青草| 欧美日韩精品三区| 亚洲一区二区精品在线| 欧美高清你懂得| 欧美精品一级| 亚洲日本免费电影| 亚洲欧美中文字幕| 国内成人精品2018免费看 | 免费人成精品欧美精品| 亚洲国产成人高清精品| 久久午夜精品一区二区| 尤妮丝一区二区裸体视频| 久久成人免费| 欧美一区二区大片| 国产女优一区| 久久精品免费| 亚洲精品乱码久久久久久| 欧美二区不卡| 一色屋精品视频免费看| 欧美大片18| 韩国精品一区二区三区| 欧美国产一区二区在线观看| 在线观看欧美激情| 久久亚洲综合网| 国产午夜精品全部视频播放| 亚洲欧美高清| 国产精品亚洲成人| 国内精品伊人久久久久av一坑| 久久精品国语| 亚洲国产精品尤物yw在线观看| 老**午夜毛片一区二区三区| 亚洲三级性片| 国产精品久久影院| 你懂的一区二区| 日韩一级片网址| 国产欧美精品一区| 欧美在线一二三四区| 影音先锋亚洲电影| 欧美日韩a区| 久久久久九九视频| 亚洲日本无吗高清不卡| 蜜臀久久99精品久久久久久9 | 国产网站欧美日韩免费精品在线观看| 欧美一区二区三区在线免费观看| 国产综合精品| 国产精品一区二区久久久久| 亚洲免费综合| 国模私拍视频一区| 国产精品久久久久秋霞鲁丝| 久久综合给合| 性欧美xxxx大乳国产app| 国内精品久久久久伊人av| 欧美日韩直播| 欧美伊人久久久久久久久影院| 国产视频一区二区三区在线观看| 久久精品国产综合精品| 亚洲国产另类 国产精品国产免费| 亚洲视频一区二区| 国产精品sss| 欧美国产日韩亚洲一区| 久久天天躁夜夜躁狠狠躁2022 | 亚洲午夜一区| 欧美日韩中文精品| 久久不见久久见免费视频1| 国产日产欧美a一级在线| 久久久久成人精品免费播放动漫| 韩日视频一区| 欧美精品久久99| 久久精品日韩欧美| 一区二区三区国产精华| 黄色精品免费| 国产麻豆视频精品| 欧美日韩国产另类不卡| 欧美一区永久视频免费观看| 日韩西西人体444www| 好吊一区二区三区| 国产精品丝袜久久久久久app| 欧美韩日视频| 久久亚洲春色中文字幕久久久 | 一区二区不卡在线视频 午夜欧美不卡在| 欧美视频一区二区三区| 香蕉成人久久| 日韩视频免费在线| 国产午夜亚洲精品不卡| 国产农村妇女精品一区二区 | 欧美承认网站| 欧美sm重口味系列视频在线观看| 欧美在线免费一级片| 久久噜噜亚洲综合| 亚洲欧美另类在线| 欧美尤物巨大精品爽| 欧美一区二区精品| 久久国产一二区| 久久久欧美精品| 男人插女人欧美| 久久综合狠狠综合久久激情| 久久精品最新地址| 亚洲国产精品一区二区三区| 亚洲一区二区三区777| 亚洲美女毛片| 欧美一区二区成人| 久久漫画官网| 国产精品亚洲综合| 国产亚洲毛片在线| 国产欧美一区二区三区在线老狼 | 国产精品欧美一区二区三区奶水| 欧美午夜精品伦理| 国产精品免费一区豆花| 国模大胆一区二区三区| 亚洲国产精品久久久久秋霞蜜臀| 国产午夜精品久久久久久免费视 | 国产日韩精品一区二区三区在线| 亚洲影音一区| 久久一区二区精品| 国产区亚洲区欧美区| 正在播放欧美一区| 欧美日韩亚洲一区二| 亚洲精品系列| 久久久99国产精品免费| 国产欧美日韩亚洲| 中文亚洲免费| 欧美区一区二区三区| 一区二区自拍| 欧美大片18| 亚洲图色在线| 久久国产精品网站| 在线播放日韩欧美| 国产精自产拍久久久久久| 亚洲欧美综合另类中字| 午夜久久美女| 亚洲激情黄色| 国产一区二区三区久久| 欧美成人国产一区二区| 久久婷婷色综合| 狠狠综合久久| 国产精品成人免费| 久久久91精品国产一区二区精品| 狠狠色丁香婷婷综合| 欧美精品网站| 欧美在线亚洲| 一本久久a久久免费精品不卡 | 国产精品久久波多野结衣| 亚洲美女av黄| 免费一级欧美片在线播放| 久久亚洲欧美国产精品乐播| 亚洲另类一区二区| 在线国产欧美| 午夜免费在线观看精品视频| 欧美成在线观看| 在线观看91久久久久久| 欧美在线视频免费播放| 噜噜噜噜噜久久久久久91| 国产日韩欧美日韩| 亚洲在线黄色| 国产精品国产三级欧美二区| 中国成人在线视频| 欧美亚一区二区| 国产综合网站| 欧美在线视频一区二区|