• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    客戶端緩存策略

    2007-01-01 00:00:00石曉珍
    計(jì)算機(jī)時(shí)代 2007年5期

    摘要:將相關(guān)數(shù)據(jù)緩存到客戶端的文本、Excel、Access文件與客戶端內(nèi)存中,通過(guò)執(zhí)行腳本程序啟動(dòng)組件程序或其他程序,以實(shí)現(xiàn)客戶端緩存數(shù)據(jù)與Web頁(yè)面的交互,并將服務(wù)器端的相關(guān)處理程序遷移到客戶端,在客戶端建立“寫(xiě)緩存”以解決ASP.NET程序運(yùn)行緩慢的問(wèn)題。這些策略可用于JSP與C/S模式到B/S模式遷移開(kāi)發(fā)中。

    關(guān)鍵詞:ASP.NET緩存;性能;頁(yè)面;緩存策略

    0 引言

    Visual Studio.NET是開(kāi)發(fā)軟件的集成環(huán)境,它將Web程序與Windows程序的開(kāi)發(fā)合二為一,開(kāi)發(fā)效率高,Window程序的開(kāi)發(fā)習(xí)慣幾乎都可以沿用,所以在業(yè)界的應(yīng)用越來(lái)越普及。

    但Visual Studio.NET開(kāi)發(fā)出來(lái)的Web(ASP.NET)程序,執(zhí)行時(shí)占用的內(nèi)存空間和CPU等資源較多,運(yùn)行速度令人難以接受。為解決這個(gè)問(wèn)題,ASP.NET尤其第2版,提供了很多基于“緩存”策略的改進(jìn)措施,歸納起來(lái)有:

    (1)頁(yè)面輸出緩存。將整個(gè)頁(yè)面緩存到服務(wù)器的內(nèi)存中,當(dāng)有新請(qǐng)求時(shí)直接將其發(fā)送給客戶端,服務(wù)器不必再處理。

    (2)頁(yè)面部分緩存。將頁(yè)面的靜態(tài)部分或相對(duì)不變部分緩存到服務(wù)器的內(nèi)存中。

    (3)數(shù)據(jù)緩存。將可能的待讀數(shù)據(jù)緩存到服務(wù)器端的內(nèi)存或其他地方。這是數(shù)據(jù)庫(kù)管理系統(tǒng)(如SQL Server)的功能。

    (4)利用存貯過(guò)程,提高數(shù)據(jù)庫(kù)管理系統(tǒng)的處理速度。

    (5)通過(guò)程序及配置文件Web.Config設(shè)置應(yīng)用程序級(jí)緩存策略。

    這些方法均在服務(wù)器端實(shí)施,能在一定程度上提高Web程序的運(yùn)行效率。我們?cè)陂_(kāi)發(fā)某B/S模式的系統(tǒng)時(shí),盡管用盡了以上緩存方法,服務(wù)器仍然頻頻癱瘓,這迫使我們?nèi)パ芯科渌彺娣椒ǎ蕴岣呦到y(tǒng)的運(yùn)行效率。

    1 基本思想

    將緩存位置從服務(wù)器端轉(zhuǎn)移到客戶端,在客戶端利用各種方式建立緩存,減輕服務(wù)器的負(fù)擔(dān),提高Web程序的運(yùn)行速度。

    “待讀”的數(shù)據(jù)可緩存于客戶機(jī)的硬盤(pán)、內(nèi)存等處。當(dāng)緩存到硬盤(pán)時(shí),可保存在文本文件、Excel文件、數(shù)據(jù)庫(kù)文件(如DBF、MDB、DB)。當(dāng)緩存到內(nèi)存時(shí),可保存到網(wǎng)頁(yè)的DOM(Document Object Model)對(duì)象,如HTML型的列表框、下拉列表框、隱藏型文本框中,也可保存到特殊對(duì)象,如TOM(Table Object Model)對(duì)象,即HTML型的表格控件中。

    也可將寫(xiě)回到服務(wù)器的數(shù)據(jù)緩存在客戶端,僅當(dāng)提交數(shù)據(jù)時(shí),才將寫(xiě)緩存中的數(shù)據(jù)發(fā)送到服務(wù)器。

    2 實(shí)施策略

    為了在客戶端實(shí)現(xiàn)緩存,采用腳本語(yǔ)言編寫(xiě)程序,完成對(duì)HTML型控件、文本文件、Excel工作簿、數(shù)據(jù)庫(kù)文件(Access的MDB文件、FoxPro的DBF文件等)等的操作。下面針對(duì)緩存位置的不同,分別介紹各種策略。

    2.1策略一:將數(shù)據(jù)緩存到客戶端文本文件

    本策略的基本思想是:用戶先從服務(wù)器下載該用戶相關(guān)的數(shù)據(jù)。并保存到客戶端的某個(gè)文本文件,然后斷開(kāi)與服務(wù)器的連接。這樣,用戶的多數(shù)操作可在客戶端執(zhí)行,只有當(dāng)用戶提交數(shù)據(jù)時(shí),才與庫(kù)服務(wù)器交互。其具體實(shí)施過(guò)程如圖1所示。

    圖1 將數(shù)據(jù)緩存到客戶端文本文件

    2.1.1轉(zhuǎn)換為文本文件并打包

    為了盡快地將數(shù)據(jù)庫(kù)中的數(shù)據(jù)下載到客戶端,可采用“預(yù)處理”策略,根據(jù)用戶權(quán)限,先利用Windows程序從數(shù)據(jù)庫(kù)提取數(shù)據(jù),將其轉(zhuǎn)換為文本文件,再壓縮打包并保存到ftp文件夾。

    2.1.2下載文本文件的緩存包

    (1)獲取壓縮包名:在用戶登錄網(wǎng)頁(yè)中調(diào)用報(bào)名網(wǎng)頁(yè),在報(bào)名網(wǎng)頁(yè)的Page_Load事件中,根據(jù)登錄網(wǎng)頁(yè)中用戶輸入的相關(guān)信息,計(jì)算產(chǎn)生待下載壓縮包的URL值,利用Response.Write()語(yǔ)句,將其寫(xiě)入到某表單的HTML控件中。核心語(yǔ)句為(C#語(yǔ)言):

    string s0=\"

    \":

    string s1=\"

    \“></form>”;

    string s11=String.Format(ss1,myUrl.ToString());

    Response.Write(s0+s11);

    (2)生成ftp命令清單abc.txt:為了采用非交互方式執(zhí)行下載命令ftp,需建立下載命令清單文件,因此需利用腳本語(yǔ)言,為網(wǎng)頁(yè)onLoad事件編寫(xiě)處理程序,使之在客戶端載入網(wǎng)頁(yè)時(shí),建立此清單文件。核心語(yǔ)句(JavaScript語(yǔ)言)為:

    var strMyFileName=\"D:\\abc.txt\":

    var fileSysObj=new ActiveXObject(\"Scripting.FileSystemObject\");

    var myFile=fileSysO bj.CreateTextFile(strMyFileName,true);

    var rarFn=FormLove.hideUrl.value;

    var ffpCmd=\"get\"+rarFn+\"D:\\\\\"+rarFn;

    myFile.WriteLine(ftpCmd);

    myFile.WriteLine(“quit”);myFile.close();

    注意:需要將指定網(wǎng)站添加到“受信任的站點(diǎn)”。將命令清單abc.txt中的“get”命令,換成“put”或“mput”,可通過(guò)ftp命令,將客戶端的文件上傳到服務(wù)器。

    (3)下載緩存包。調(diào)用ftp程序,執(zhí)行abc.txt中的下載命令完成下載。核心語(yǔ)句為:

    var shell=new ActiveXObject(\"Wscript.Shell\");

    shell.run(\"%SystemRoot%\\system32\\ftp.exe-v-n-i-d-s:D:

    \\\\abc.txt-A 192.168.1.2\"):

    說(shuō)明:如果擔(dān)心ftp服務(wù)器不安全,可以先用此方法,從某個(gè)公開(kāi)的虛擬目錄下載一個(gè)專門(mén)下載文件的雙接口的組件程序,通過(guò)腳本程序啟動(dòng)該組件程序,以完成緩存包的下載。

    (4)解開(kāi)緩存包。執(zhí)行客戶端解包軟件RAR。核心語(yǔ)句為:

    var rarCmd=\"D:\\WinRAR\\RAR.exe x D:\\\\\"+rarFn+\"D:\\\\\";

    shell.run(rarCmd);

    2.1.3對(duì)緩存在客戶端的數(shù)據(jù)進(jìn)行操作

    在網(wǎng)頁(yè)中添加HTML型控件,通過(guò)腳本程序打開(kāi)客戶端的文本文件,從中讀取數(shù)據(jù),某個(gè)操作完成后,也可將寫(xiě)回到服務(wù)器的數(shù)據(jù),緩存到客戶端的文本文件。這里,主要用到客戶端的FileSystemObject對(duì)象,其核心語(yǔ)句為:

    myFile=fileSysObj.OpenTextFile(strMyFileName,8,true);

    //8可追加,1為只讀

    var rarFn=FormLove.hideUd.value;//獲取控件的值

    s1=myFile.ReadLine():myFile.WriteLine(s2);

    vat oOption=document.createElement(\"OPTION\");

    //這是采用DOM模式操作控件

    oOption.text=s1;oOption.value=i;Form2.yourDept.a(chǎn)dd(oOption);

    Form2.yourName.value=rarFn;//注意:需要用HTML語(yǔ)句定義

    runat?\"server\"的新Form

    2.1.4提交數(shù)據(jù)

    將緩存在客戶端文本文件中的數(shù)據(jù),寫(xiě)回到數(shù)據(jù)庫(kù)服務(wù)器的基本方法如下:

    (1)從客戶端的文本文件依次讀取每行數(shù)據(jù),分類(Update、Insert,Delete等)生成刷新服務(wù)端數(shù)據(jù)的SQL語(yǔ)句。注意:兩條SQL語(yǔ)句之間用“分號(hào)(;)”分隔。

    (2)將這些SQL語(yǔ)句保存到隱藏型文本框中,如FormOk.myUpdate.value=strUpdate。

    (3)通過(guò)新Form的Acdon參數(shù),指明接收SQL語(yǔ)句的網(wǎng)頁(yè)文件,在該網(wǎng)頁(yè)的Page_Load()事件中,獲取隱藏型文本框中的SQL語(yǔ)句并執(zhí)行之。核心語(yǔ)句為:

    mycmdstr=Request.Form[\"myUpdate\"].ToStnng().Trim();

    mycmd.CommandText=mycmdstr;

    int nSuccess=mycmd.ExecuteNonQuery();

    本策略僅在下載與提交數(shù)據(jù)時(shí),客戶端才與服務(wù)器端發(fā)生交互,減輕了服務(wù)器的負(fù)擔(dān)。它適合于給HTML型控件填充選項(xiàng)數(shù)據(jù),如下拉列表框、普通的列表框的選項(xiàng)數(shù)據(jù)等。

    2.2策略二:將數(shù)據(jù)緩存到客戶端的Excel文件

    對(duì)于結(jié)構(gòu)化數(shù)據(jù),在服務(wù)器端進(jìn)行預(yù)處理時(shí),要將待緩存的數(shù)據(jù)轉(zhuǎn)換為Excel文件格式,客戶端通過(guò)啟動(dòng)Excel來(lái)讀/寫(xiě)緩存數(shù)據(jù)。本策略實(shí)現(xiàn)過(guò)程與“策略一”類似,基本步驟如下:

    (1)生成Excel文件,再壓縮打包并保存到ftp文件夾。

    (2)下載Excel文件的壓縮包并解壓,方法與“策略一”相同。

    (3)對(duì)客戶端的緩存數(shù)據(jù)進(jìn)行操作。

    啟動(dòng)客戶端的Excel軟件,讀/寫(xiě)緩存在Excel文件中數(shù)據(jù),其核心語(yǔ)句為:

    var myExcel=new ActiveXObject(\"Excel.Application\");

    myExcel.Workbooks.Open(\"D:\\abcd.xls\");

    var myWg=myExcel~Workbooks.Item(1);

    var myWS=myWB.Worksheets(1);

    var ss=myExcel.Workbooks.Count+\"\n\"

    +myWB.Name+\"\n\"+myWS.Name+\"\\";

    SS+=myVVS.Cells(1,1).Value+\"\n\";myWS.Cells(4,3).Value=20000;

    說(shuō)明:與HTML型控件的交互,與“策略一”相同。

    (4)提交數(shù)據(jù),與“策略一”類似,不同之處是啟動(dòng)Excel去獲取工作簿中的數(shù)據(jù)。

    2.3策略三:將數(shù)據(jù)緩存到客戶端的Access數(shù)據(jù)庫(kù)文件

    服務(wù)器端的數(shù)據(jù)本來(lái)保存在數(shù)據(jù)庫(kù),因此當(dāng)在客戶端緩存時(shí),將其保存到數(shù)據(jù)庫(kù),如Access數(shù)據(jù)庫(kù),應(yīng)是明智的選擇。本策略的實(shí)現(xiàn)過(guò)程與“策略一”類似,基本步驟如下:

    (1)生成MDB文件,然后壓縮打包并保存到ftp文件夾。

    (2)下載MDB緩存壓縮包并解壓,實(shí)現(xiàn)方法與“策略一”相同。

    (3)對(duì)緩存在客戶端的數(shù)據(jù)進(jìn)行操作。

    執(zhí)行腳本程序,調(diào)用ADO組件程序,打開(kāi)MDB文件,從中讀寫(xiě)數(shù)據(jù),其核心語(yǔ)句為:

    var conn=new ActiveXObject(\"ADODB.connection\");

    var strDb=\"D:\\Student.mdb\";

    conn.ConnectionString=\"Data Source=\"+strOb+\";

    Jet OLEDB:Engine Type=5;

    Provider='Microsoft.Jet.OLEDB.4.O':

    User ID=Admin\"var rs=new ActiveXObject(\"ADODB.Recordset\");

    conn.Open();rs.open(\"SELECT*FROM userlnfo\",conn,1,3);

    var oOption=document.createElement(\"OPTION\"):

    oOption.text=rS(\"userDept\").Value;

    oOption.value=rs(\"usedD\").Value;

    Form2.yourDept.a(chǎn)dd(oOption);

    var sql=\"UPDATE userlnfo SET userName='楊其蕓'

    WHERE userlD='yqy\"';

    conn.Execute(sql);

    與HTML型控件的交互,與“策略一”相同。

    (4)提交數(shù)據(jù),與“策略一”相似,不同之處是通過(guò)ADO組件去獲取數(shù)據(jù)庫(kù)中的數(shù)據(jù)。

    2.4策略四:緩存在客戶端的內(nèi)存中

    本策略旨在保存客戶端要寫(xiě)回到服務(wù)器的數(shù)據(jù)。一般情況下,客戶端寫(xiě)回到服務(wù)器的數(shù)據(jù),要少于從服務(wù)器下載的數(shù)據(jù)。要寫(xiě)回到服務(wù)器的數(shù)據(jù),當(dāng)緩存到內(nèi)存時(shí),執(zhí)行效率會(huì)更高。

    寫(xiě)回服務(wù)器的數(shù)據(jù),也是某個(gè)數(shù)據(jù)庫(kù)表中的一條記錄,因此我們?cè)诰W(wǎng)頁(yè)中添加一個(gè)HTML型的Table控件,然后利用腳本語(yǔ)言,編寫(xiě)往Table控件中存取數(shù)據(jù)的程序。其基本過(guò)程如下:

    (1)建立表結(jié)構(gòu):在runat?\"server\"的Form中,添加HTML型Table控件,切換到HTML狀態(tài),使該表格僅留一行,并定義tbody型變量。主要的HTML代碼為:

    <TABLE id=\"myTable2\"><TR><TD>用戶名

    </TD>……<TD>院系</TD></TR>

    <tbody id=\"myBody2\"></tbody>

    </TABLE>

    (2)在runat?\"server\"的Form中,添加一系列輸入數(shù)據(jù)的HTML控件,并添加HTML型的按鈕為該按鈕的單擊事件。該處理程序的主要語(yǔ)句為:

    oRow=myBody2.insertRow():oCell=oRow.insertCell();

    oCell innerText=Form2.yourName.value;

    (3)提交數(shù)據(jù):將緩存在HTML型Table控件中的數(shù)據(jù)取出,并寫(xiě)出刷新服務(wù)器數(shù)據(jù)的SQL語(yǔ)句。其核心語(yǔ)句為:

    for(i=0;i<myBody2.rOWS.1ength;i++){

    oRow=myBody2.rows(i):

    for(j=0;j<o(jì)Row.cells.1ength;j++){strDisp+=oRow.celIs(j).

    innerText+\",”:} }

    ……;//生成刷新服務(wù)器數(shù)據(jù)的SQL語(yǔ)句

    2.5策略五:服務(wù)器端主動(dòng)向客戶端下載數(shù)據(jù)

    在很多的情況下,不能在預(yù)處理階段準(zhǔn)備數(shù)據(jù),只能在程序運(yùn)行時(shí)確定要緩存的數(shù)據(jù),這時(shí)可采用服務(wù)器主動(dòng)向客戶端推送數(shù)據(jù)的方式。其基本流程如下:

    (1)服務(wù)器端在某個(gè)事件(如Page_Load事件、DataGfid控件的SelectedlndexChange事件)發(fā)生時(shí),執(zhí)行相應(yīng)的處理程序,在此程序中利用Response.Write()語(yǔ)句,將服務(wù)器中的數(shù)據(jù),寫(xiě)到一系列的HTML語(yǔ)句。其核心語(yǔ)句(c#語(yǔ)言)為:

    Data.DataRow myRow=this.myds.Tables[\"core\"].

    Rows[CurrentRowlndex];

    string ss0=\"<form id\\\"FormLOVe\\">\";

    string ss1=\"<input type=\\\"hide\\\" id=\\\"hXH\\\"value=\\{0}\\\"/>\";

    string ss11=String.Format(ss1,myRow[\"XH\"].ToString());

    Response.Write(ss0):Response.Write(ss11);

    (2)客戶端再在某個(gè)事件觸發(fā)時(shí),執(zhí)行相應(yīng)的腳本程序,從這一系列的HTML語(yǔ)句中,獲取服務(wù)器端下發(fā)的數(shù)據(jù)。參考前述各策略所用方法,可將下發(fā)數(shù)據(jù)保存到文本文件、Excel文件、MDB文件、Table對(duì)象或其他位置。其核心語(yǔ)句有:

    var oXH=FormLove.hXH.value;//獲取下發(fā)數(shù)據(jù)

    Form2 txtXh.value oXH;

    //保存到HTML型控件,也可保存到其他位置

    (3)對(duì)緩存在客戶端的數(shù)據(jù)進(jìn)行操作。方法見(jiàn)前述各策略。

    (4)提交數(shù)據(jù)。實(shí)現(xiàn)方法見(jiàn)前述各策略,如“策略IN”。

    以上過(guò)程,實(shí)現(xiàn)了服務(wù)器端控件與客戶端控件的雙向交流,即服務(wù)器端控件可將數(shù)據(jù)傳遞給HTML型控件;通過(guò)表單中的Action選項(xiàng),HTML型控件可將數(shù)據(jù)傳遞給服務(wù)器端控件。

    2.6策略六:在客戶端實(shí)現(xiàn)服務(wù)器端的某些功能

    當(dāng)將服務(wù)器端的數(shù)據(jù)緩存到客戶端后,還可將相關(guān)的處理程序,遷移到客戶端執(zhí)行,進(jìn)一步減輕服務(wù)器負(fù)擔(dān),大大增強(qiáng)B/S模式中客戶端的處理能力,因此在某種程度上具有網(wǎng)格和分布式程序設(shè)計(jì)的思想。其基本步驟如下:

    (1)將相關(guān)處理功能轉(zhuǎn)換為可獨(dú)立執(zhí)行的程序,最好編寫(xiě)為具有雙接口(dual interface)的COM型組件程序,使之既可以在Windows環(huán)境中執(zhí)行,也可以在Web環(huán)境中被腳本調(diào)用。

    (2)將相應(yīng)程序壓縮并保存到ftp文件夾。

    (3)將可執(zhí)行程序包下載到客戶端并解開(kāi)。方法見(jiàn)“策略一”中的介紹。

    (4)客戶端通過(guò)腳本程序調(diào)用這些程序。

    ①若是具有雙接口的COM型組件程序,使用啟動(dòng)Excel時(shí)所使用的方法,即var myApp=new ActiveXObjec(\"myCommyApp\")。其中“myCom”表示組件程序myComexe,“myApp”表示其主類名,如在Delphi為T(mén)myApp=classfftypedComObjectJmyApp)。

    ②若是普通的程序,如ftp.exe、rar.exe,則可參考如下語(yǔ)句去執(zhí)行:

    var shell=new ActiveXObject(\"Wscript.Shell\");

    shell.runt(\"%SystemRoot%\\system32\\ftp.exe-V—n-i—d-s:D:

    \\abc.txt-A 192.168.1.2\");

    3 結(jié)束語(yǔ)

    將服務(wù)器端的相關(guān)數(shù)據(jù),緩存到客戶端的文本文件、Excel文件、Access文件與客戶端內(nèi)存中,在客戶端通過(guò)執(zhí)行腳本程序,啟動(dòng)組件程序或其他程序,讀寫(xiě)這些緩存在客戶端的數(shù)據(jù),減輕了服務(wù)器端的負(fù)擔(dān)。

    同時(shí)將在服務(wù)器端執(zhí)行的某些處理程序遷移到客觀端,可以分擔(dān)服務(wù)器的負(fù)載。

    這些方法稍作修改可應(yīng)用于JSP、ASP等Web程序中;同樣,這些方法稍作整理與推廣,可用于C/S模式系統(tǒng)向B/S模式的移植開(kāi)發(fā)中。

    注:本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文。

    精品人妻视频免费看| 国产精品爽爽va在线观看网站| 成人欧美大片| 少妇熟女欧美另类| 久久精品综合一区二区三区| 欧美又色又爽又黄视频| 波多野结衣巨乳人妻| 九九爱精品视频在线观看| 日韩亚洲欧美综合| 国产精品精品国产色婷婷| 日本猛色少妇xxxxx猛交久久| 亚洲美女视频黄频| 国产高潮美女av| 精品国内亚洲2022精品成人| 中文字幕精品亚洲无线码一区| 午夜福利在线观看吧| 成人午夜高清在线视频| 变态另类丝袜制服| 日韩三级伦理在线观看| 国产毛片a区久久久久| 看十八女毛片水多多多| 欧美激情国产日韩精品一区| 91精品一卡2卡3卡4卡| 亚洲国产精品国产精品| 久久6这里有精品| 超碰av人人做人人爽久久| 国产av不卡久久| 我的女老师完整版在线观看| 久久久久精品久久久久真实原创| 婷婷色综合大香蕉| 久久精品人妻少妇| 午夜福利在线观看免费完整高清在| 亚洲国产精品合色在线| 国产色婷婷99| 天堂网av新在线| 蜜桃久久精品国产亚洲av| 啦啦啦啦在线视频资源| av国产久精品久网站免费入址| 卡戴珊不雅视频在线播放| 日日撸夜夜添| 国产精品国产三级国产av玫瑰| 精品国产三级普通话版| 97热精品久久久久久| 国产精品,欧美在线| 久久99蜜桃精品久久| 91午夜精品亚洲一区二区三区| 只有这里有精品99| 22中文网久久字幕| 亚洲电影在线观看av| 日韩,欧美,国产一区二区三区 | 内地一区二区视频在线| 国产单亲对白刺激| 国产av一区在线观看免费| 国产精华一区二区三区| 成人漫画全彩无遮挡| 成人漫画全彩无遮挡| av在线天堂中文字幕| 色综合站精品国产| 久久久久久伊人网av| 亚洲欧美成人综合另类久久久 | av卡一久久| 狂野欧美激情性xxxx在线观看| 国产欧美另类精品又又久久亚洲欧美| 日韩中字成人| 亚洲精品日韩在线中文字幕| 国产一级毛片七仙女欲春2| 国产精品一区二区三区四区免费观看| 尾随美女入室| 国产又色又爽无遮挡免| 国产激情偷乱视频一区二区| a级一级毛片免费在线观看| 国产精品一二三区在线看| 久久久国产成人精品二区| 又爽又黄无遮挡网站| 秋霞在线观看毛片| 免费在线观看成人毛片| 精品一区二区三区视频在线| 岛国在线免费视频观看| 日韩欧美精品v在线| 三级经典国产精品| 欧美+日韩+精品| 啦啦啦观看免费观看视频高清| 99热这里只有是精品在线观看| 欧美色视频一区免费| 精品免费久久久久久久清纯| 久久精品综合一区二区三区| av免费在线看不卡| 91av网一区二区| 午夜福利在线在线| 永久网站在线| 特级一级黄色大片| 少妇的逼水好多| 亚洲av中文字字幕乱码综合| 亚洲av成人精品一区久久| 99久久成人亚洲精品观看| 免费看日本二区| 免费黄色在线免费观看| 亚洲va在线va天堂va国产| 亚洲高清免费不卡视频| 六月丁香七月| 一区二区三区四区激情视频| 日韩强制内射视频| 狠狠狠狠99中文字幕| 亚洲自偷自拍三级| 日韩欧美三级三区| 精品午夜福利在线看| 菩萨蛮人人尽说江南好唐韦庄 | 热99在线观看视频| 日本五十路高清| 边亲边吃奶的免费视频| 小说图片视频综合网站| 99久久九九国产精品国产免费| 麻豆成人av视频| 人人妻人人看人人澡| 国产免费又黄又爽又色| 精品久久久久久久久久久久久| 国产一级毛片在线| 久久99热6这里只有精品| 久99久视频精品免费| 美女内射精品一级片tv| 99九九线精品视频在线观看视频| 国产黄a三级三级三级人| 精品久久久久久久久亚洲| 国产白丝娇喘喷水9色精品| 欧美日韩国产亚洲二区| 成年免费大片在线观看| 一级毛片我不卡| 又粗又硬又长又爽又黄的视频| 中文精品一卡2卡3卡4更新| 欧美激情在线99| 久久99热这里只频精品6学生 | 99久久精品国产国产毛片| av国产久精品久网站免费入址| 久久精品熟女亚洲av麻豆精品 | 18禁裸乳无遮挡免费网站照片| 色播亚洲综合网| 69av精品久久久久久| 午夜老司机福利剧场| 18禁在线无遮挡免费观看视频| 一个人观看的视频www高清免费观看| 亚洲精品影视一区二区三区av| 久久久久九九精品影院| 欧美xxxx黑人xx丫x性爽| 免费观看性生交大片5| 亚洲aⅴ乱码一区二区在线播放| 亚洲最大成人av| 综合色丁香网| 免费观看性生交大片5| 日韩av在线大香蕉| 日韩av在线大香蕉| 久久国内精品自在自线图片| 午夜老司机福利剧场| 欧美色视频一区免费| 免费看日本二区| 亚洲国产精品久久男人天堂| 如何舔出高潮| 午夜久久久久精精品| 黄色欧美视频在线观看| 尤物成人国产欧美一区二区三区| 高清毛片免费看| 国产乱人偷精品视频| 晚上一个人看的免费电影| 久久人妻av系列| 青春草视频在线免费观看| 成人一区二区视频在线观看| 免费观看精品视频网站| 国产精品99久久久久久久久| 搞女人的毛片| 久久久久久久久久久免费av| av在线蜜桃| 永久免费av网站大全| 亚洲国产高清在线一区二区三| 午夜福利在线在线| 久久精品久久久久久噜噜老黄 | 久久人人爽人人片av| 国产美女午夜福利| 久久久久性生活片| 国产单亲对白刺激| 久久精品国产鲁丝片午夜精品| 国产av一区在线观看免费| 一级毛片aaaaaa免费看小| 国产伦一二天堂av在线观看| 小蜜桃在线观看免费完整版高清| 欧美+日韩+精品| 精品国产露脸久久av麻豆 | 三级国产精品片| 少妇人妻精品综合一区二区| 免费黄网站久久成人精品| 啦啦啦观看免费观看视频高清| 国产免费男女视频| 熟女电影av网| 婷婷色麻豆天堂久久 | 亚洲欧美清纯卡通| 国产老妇伦熟女老妇高清| 水蜜桃什么品种好| 免费看av在线观看网站| 高清在线视频一区二区三区 | 亚洲色图av天堂| 成年版毛片免费区| 两个人的视频大全免费| 国产熟女欧美一区二区| 国产精品一区二区性色av| 国产乱人视频| 婷婷色麻豆天堂久久 | 国产乱来视频区| 久久久久久久久久久丰满| 一级爰片在线观看| av福利片在线观看| 欧美潮喷喷水| 亚洲三级黄色毛片| 亚洲人成网站在线观看播放| 在线观看66精品国产| 美女脱内裤让男人舔精品视频| 纵有疾风起免费观看全集完整版 | 亚洲国产精品国产精品| 国产色婷婷99| 国产午夜精品论理片| 国内少妇人妻偷人精品xxx网站| 五月玫瑰六月丁香| 一级二级三级毛片免费看| 亚洲欧美日韩卡通动漫| 2021少妇久久久久久久久久久| 中文字幕精品亚洲无线码一区| 女的被弄到高潮叫床怎么办| 小蜜桃在线观看免费完整版高清| 精品不卡国产一区二区三区| 成人毛片60女人毛片免费| 欧美日本亚洲视频在线播放| 久久99热这里只有精品18| 丰满人妻一区二区三区视频av| 天天一区二区日本电影三级| 少妇的逼水好多| 国产一级毛片七仙女欲春2| 高清日韩中文字幕在线| 久久国内精品自在自线图片| 老女人水多毛片| 免费观看在线日韩| 精品久久久久久久久亚洲| 国产精品一区二区三区四区久久| or卡值多少钱| 69av精品久久久久久| 男人和女人高潮做爰伦理| 久久精品久久久久久久性| 日本三级黄在线观看| 亚洲,欧美,日韩| 插逼视频在线观看| 亚洲精品亚洲一区二区| 亚洲伊人久久精品综合 | av国产久精品久网站免费入址| 国产精品美女特级片免费视频播放器| 如何舔出高潮| 尾随美女入室| 中文天堂在线官网| 有码 亚洲区| 国产精品一区www在线观看| 色尼玛亚洲综合影院| 日韩欧美在线乱码| 身体一侧抽搐| 七月丁香在线播放| 一夜夜www| 日韩一区二区三区影片| 精品国内亚洲2022精品成人| 看十八女毛片水多多多| 国产精品福利在线免费观看| 九色成人免费人妻av| av在线播放精品| 久久草成人影院| 午夜视频国产福利| 国内精品美女久久久久久| 成人国产麻豆网| 99九九线精品视频在线观看视频| 日韩高清综合在线| 欧美极品一区二区三区四区| 啦啦啦韩国在线观看视频| h日本视频在线播放| 久久久久久九九精品二区国产| 亚洲怡红院男人天堂| 欧美一区二区亚洲| 97在线视频观看| 在线免费十八禁| 欧美97在线视频| 夜夜看夜夜爽夜夜摸| 久久精品久久久久久噜噜老黄 | 久久久久久久国产电影| 亚洲人成网站在线观看播放| 91久久精品电影网| 国产精品,欧美在线| 亚洲国产精品成人综合色| 午夜激情福利司机影院| 国产亚洲av片在线观看秒播厂 | 麻豆成人午夜福利视频| 99热这里只有是精品50| 欧美日韩综合久久久久久| 免费观看a级毛片全部| 最近视频中文字幕2019在线8| 2021少妇久久久久久久久久久| 99久久人妻综合| 亚洲经典国产精华液单| 九九久久精品国产亚洲av麻豆| 卡戴珊不雅视频在线播放| 麻豆精品久久久久久蜜桃| 久久这里有精品视频免费| 国产高潮美女av| 天堂√8在线中文| 亚洲精品影视一区二区三区av| av黄色大香蕉| 国产女主播在线喷水免费视频网站 | 国产一区二区亚洲精品在线观看| 18禁裸乳无遮挡免费网站照片| 国产精品麻豆人妻色哟哟久久 | 国产一级毛片七仙女欲春2| 久久久久久久久久黄片| 亚洲国产色片| 久久这里有精品视频免费| 亚洲精品aⅴ在线观看| 亚洲国产欧洲综合997久久,| 最近2019中文字幕mv第一页| 国产午夜精品一二区理论片| 中文天堂在线官网| 精品午夜福利在线看| 国语对白做爰xxxⅹ性视频网站| 亚洲av不卡在线观看| 久久久久久久久中文| 午夜福利网站1000一区二区三区| 久久久久久伊人网av| videossex国产| 亚洲人成网站在线播| 免费无遮挡裸体视频| 男女下面进入的视频免费午夜| 少妇裸体淫交视频免费看高清| 99热这里只有是精品在线观看| 亚洲成av人片在线播放无| 人体艺术视频欧美日本| 日韩大片免费观看网站 | 两个人视频免费观看高清| 嘟嘟电影网在线观看| 不卡视频在线观看欧美| 国产精品一及| 亚洲欧美清纯卡通| 黄色欧美视频在线观看| 日韩一本色道免费dvd| 亚洲av免费在线观看| 在线免费十八禁| 亚洲精华国产精华液的使用体验| 国产精品一二三区在线看| 日本熟妇午夜| 精品久久久久久电影网 | 精品久久久噜噜| 免费av不卡在线播放| 汤姆久久久久久久影院中文字幕 | 精品人妻偷拍中文字幕| 精华霜和精华液先用哪个| 日本三级黄在线观看| 国产免费一级a男人的天堂| 国产精品爽爽va在线观看网站| 尤物成人国产欧美一区二区三区| av.在线天堂| 97超视频在线观看视频| 最近2019中文字幕mv第一页| 国产毛片a区久久久久| 九九热线精品视视频播放| 啦啦啦啦在线视频资源| 亚洲欧美日韩东京热| 亚洲欧美成人综合另类久久久 | 国产高清三级在线| 国产免费福利视频在线观看| 亚洲国产欧美人成| 少妇熟女欧美另类| 久久久久久久久久成人| www.色视频.com| 视频中文字幕在线观看| 又爽又黄无遮挡网站| h日本视频在线播放| 五月玫瑰六月丁香| 1024手机看黄色片| av在线老鸭窝| 最近中文字幕2019免费版| 亚洲av免费在线观看| 国产精品美女特级片免费视频播放器| 免费av观看视频| 中文欧美无线码| 一个人观看的视频www高清免费观看| 又爽又黄a免费视频| 大话2 男鬼变身卡| 又粗又硬又长又爽又黄的视频| 国产片特级美女逼逼视频| 99久久人妻综合| .国产精品久久| 99热网站在线观看| 亚洲最大成人手机在线| 精品久久久噜噜| 亚洲乱码一区二区免费版| 一区二区三区四区激情视频| 中文字幕免费在线视频6| 白带黄色成豆腐渣| 国产一区二区亚洲精品在线观看| 中文乱码字字幕精品一区二区三区 | 91久久精品国产一区二区三区| 一卡2卡三卡四卡精品乱码亚洲| 蜜臀久久99精品久久宅男| 毛片女人毛片| www.av在线官网国产| 亚洲av免费在线观看| 建设人人有责人人尽责人人享有的 | 国产视频首页在线观看| 桃色一区二区三区在线观看| 精品国产一区二区三区久久久樱花 | 亚洲久久久久久中文字幕| av福利片在线观看| 精品久久国产蜜桃| 国产69精品久久久久777片| 少妇熟女aⅴ在线视频| 亚州av有码| 蜜桃亚洲精品一区二区三区| 黄色日韩在线| 久久久久久大精品| 亚洲人成网站在线播| 寂寞人妻少妇视频99o| 深爱激情五月婷婷| 亚洲在线自拍视频| 国产午夜精品久久久久久一区二区三区| 一个人观看的视频www高清免费观看| 老女人水多毛片| 亚洲精品亚洲一区二区| 国产免费视频播放在线视频 | 久久精品国产亚洲av天美| 亚洲电影在线观看av| 亚洲国产欧美在线一区| 久久人人爽人人片av| 亚洲经典国产精华液单| 九色成人免费人妻av| 久久99热6这里只有精品| 亚洲经典国产精华液单| 欧美精品国产亚洲| 久久精品久久久久久久性| 免费无遮挡裸体视频| 五月玫瑰六月丁香| 水蜜桃什么品种好| 日本熟妇午夜| 爱豆传媒免费全集在线观看| 非洲黑人性xxxx精品又粗又长| 日本熟妇午夜| 免费电影在线观看免费观看| 亚洲va在线va天堂va国产| 精华霜和精华液先用哪个| 日韩高清综合在线| 久久久久免费精品人妻一区二区| 久久精品国产自在天天线| 大香蕉97超碰在线| 日韩,欧美,国产一区二区三区 | 日韩 亚洲 欧美在线| 欧美+日韩+精品| 色哟哟·www| 亚洲图色成人| 纵有疾风起免费观看全集完整版 | 亚洲自拍偷在线| 禁无遮挡网站| 在线播放无遮挡| 高清日韩中文字幕在线| 青春草国产在线视频| av.在线天堂| 嫩草影院新地址| 国产av一区在线观看免费| 2021天堂中文幕一二区在线观| 春色校园在线视频观看| 黄色配什么色好看| 亚洲内射少妇av| 亚洲av不卡在线观看| 大话2 男鬼变身卡| 少妇猛男粗大的猛烈进出视频 | 国产精品一及| 久久久久久久国产电影| 午夜日本视频在线| 免费观看的影片在线观看| 内射极品少妇av片p| 亚洲综合色惰| 内地一区二区视频在线| 熟女电影av网| 少妇裸体淫交视频免费看高清| 午夜精品一区二区三区免费看| 五月伊人婷婷丁香| 色视频www国产| 欧美一区二区精品小视频在线| 久久午夜福利片| 欧美激情国产日韩精品一区| 91久久精品国产一区二区三区| 国产一级毛片在线| 午夜福利网站1000一区二区三区| 69av精品久久久久久| 人人妻人人看人人澡| 亚洲怡红院男人天堂| 亚洲一区高清亚洲精品| 午夜福利在线观看免费完整高清在| 视频中文字幕在线观看| 国产精品电影一区二区三区| 我的女老师完整版在线观看| 亚洲国产成人一精品久久久| 永久免费av网站大全| av视频在线观看入口| a级一级毛片免费在线观看| 亚洲av男天堂| 免费看av在线观看网站| av在线蜜桃| 欧美成人a在线观看| 中国美白少妇内射xxxbb| 日韩欧美三级三区| 极品教师在线视频| 久久久亚洲精品成人影院| videossex国产| 国产成人一区二区在线| or卡值多少钱| 一级爰片在线观看| 久久亚洲精品不卡| 韩国高清视频一区二区三区| 国产午夜福利久久久久久| 两个人视频免费观看高清| 国产在线男女| 美女黄网站色视频| 亚洲美女搞黄在线观看| 在线观看av片永久免费下载| 亚洲精品国产av成人精品| 亚洲av二区三区四区| 性插视频无遮挡在线免费观看| 高清视频免费观看一区二区 | 日韩av在线免费看完整版不卡| 禁无遮挡网站| .国产精品久久| 午夜福利在线观看吧| 国内精品一区二区在线观看| 欧美性猛交黑人性爽| 国产色婷婷99| 国产精品,欧美在线| 亚洲国产精品久久男人天堂| 婷婷色综合大香蕉| 欧美3d第一页| 亚洲av中文av极速乱| 国产精品久久久久久精品电影小说 | 熟女人妻精品中文字幕| 亚洲欧美精品自产自拍| 亚洲综合精品二区| 亚洲成色77777| 久久精品久久精品一区二区三区| 久久久久久久久久成人| 成人漫画全彩无遮挡| 国产伦精品一区二区三区四那| 亚洲一级一片aⅴ在线观看| 国产在线一区二区三区精 | 亚洲内射少妇av| 国产综合懂色| 免费播放大片免费观看视频在线观看 | 18禁裸乳无遮挡免费网站照片| 欧美不卡视频在线免费观看| 99国产精品一区二区蜜桃av| 伊人久久精品亚洲午夜| 青春草亚洲视频在线观看| 一级毛片aaaaaa免费看小| 亚洲精品乱久久久久久| 亚洲国产精品国产精品| eeuss影院久久| 啦啦啦啦在线视频资源| 精品国产一区二区三区久久久樱花 | 真实男女啪啪啪动态图| 免费av毛片视频| 直男gayav资源| 久久99热这里只有精品18| 级片在线观看| 精品一区二区免费观看| 久久精品国产亚洲av天美| 亚洲成人中文字幕在线播放| 男人狂女人下面高潮的视频| eeuss影院久久| 午夜精品国产一区二区电影 | 色播亚洲综合网| h日本视频在线播放| 91精品伊人久久大香线蕉| 国产精品国产高清国产av| 色播亚洲综合网| av天堂中文字幕网| 一区二区三区乱码不卡18| 人体艺术视频欧美日本| 久久国内精品自在自线图片| 成人毛片60女人毛片免费| 能在线免费观看的黄片| 亚洲精品乱码久久久久久按摩| 成人二区视频| 久久精品久久久久久噜噜老黄 | 2021天堂中文幕一二区在线观| 少妇熟女欧美另类| 2022亚洲国产成人精品| 亚洲一区高清亚洲精品| 91av网一区二区| 免费看日本二区| 久久精品久久久久久噜噜老黄 | 婷婷六月久久综合丁香| 如何舔出高潮| 国产精品国产三级专区第一集| 国产精品美女特级片免费视频播放器| 中文天堂在线官网| 少妇人妻精品综合一区二区| 久久久午夜欧美精品| 日韩一区二区三区影片| 亚洲真实伦在线观看| 国产69精品久久久久777片| 中文欧美无线码| 国产精品久久久久久久久免| 国产一区二区在线观看日韩| 欧美成人午夜免费资源| 97超视频在线观看视频| 夜夜爽夜夜爽视频| 一级毛片电影观看 | 国产免费福利视频在线观看| 久久久久九九精品影院| 人妻夜夜爽99麻豆av| 精品人妻熟女av久视频| 国产三级在线视频|