Was ich zuvor geschrieben habe: Dieser Artikel bezieht sich immer noch auf ASP. Ich glaube, dass es jedem, der ASP spielt, so geht. Wenn es mehr als 50.000 Daten gibt, müssen genau wie beim Musiknetzwerk die neuesten 10 Teile aufgerufen und angezeigt werden Das Schlimme daran ist, dass, wenn mehrere Benutzer die Seite öffnen, jedes Mal die Datenbank einmal gelesen werden muss, was zweifellos die Effizienz verringert, wenn die Daten im Speicher gespeichert und dann gelesen werden können , Es beschleunigt zweifellos den Prozess. Der sogenannte Cache dient tatsächlich dazu, einen Platz im Speicher zum Speichern von Daten freizugeben. Mit dem Cache müssen Sie nicht häufig auf die auf der Festplatte gespeicherten Daten zugreifen, wie wir hoffen dass jeder Benutzer diese Daten sehen kann. Erwägen Sie die Verwendung des Anwendungsobjekts, da es sich um ein gemeinsames Objekt für alle Besucher handelt. Hier müssen wir den ASP verwenden In Bezug auf die Anwendung gibt es 2. Eine Methode [Sperren und Entsperren], zwei Sammlungen [Inhalt und statische Objekte], zwei Ereignisse [application_onstart und application_end]. Die Anwendungsvariable verschwindet nicht, da der Benutzer sie verlässt. Es wird gewartet, bis die Website geschlossen und das Programm deinstalliert wird. Aus diesem Grund müssen Sie bei der Verwendung besonders vorsichtig sein. Wenn Sie interessiert sind, muss ich nicht mehr sagen. Schauen Sie sich die relevanten Informationen an. Die allgemeine Idee besteht darin, die Daten zum angegebenen Zeitpunkt zu lesen und zu
aktualisieren und schreiben Sie es in eine dim-Variable temp:
Das Folgende ist ein Referenzfragment:
Funktion DisplayRecords()
'Diese Funktion hat ursprünglich den aufgezeichneten Wert Dim sql, conn, rs einer Variablen temp zugewiesen
'Bedingte SQL-Anweisung sql = „SELECT id, [szd_f], [szd_t] FROM admin“
'Datenbankverbindung öffnen Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("db.mdb")
Setze rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn, 1, 3
'Wenn die mit der sq-Anweisung l übereinstimmenden Daten nicht angezeigt wurden, wenn nicht, dann rs.EOF
'Weisen Sie der Temp-Variable Dim-Temp zu
temp = "<table width=""90%"" align=""center"""
temp = temp & " border=""1"" bordercolor=""silver"""
temp = temp & " cellpacing=""2"" cellpadding=""0"">"
temp = temp & "<tr bgcolor=""#CCDDEE""><td width=""5%"""
temp = temp & ">ID</td><td>Operation</td>"
temp = temp & "<td>Anzahl</td></tr>"
Während nicht rs.EOF
temp = temp & "<tr><td bgcolor=""#CCDDEE"">"
temp = temp & rs("ID") & "</td><td>" & rs("szd_f")
temp = temp & "</td><td>" & rs("szd_t")
temp = temp & "</td></tr>"
rs.MoveNext
Wend
temp = temp & "</table>"
'Nachdem die temporäre Zuweisung abgeschlossen ist, geben Sie sie an die Funktion DisplayRecords = temp zurück
Anders
DisplayRecords = „Daten nicht verfügbar.“
Ende wenn
'Speicher freigeben rs.Schließen
conn.Schließen
Setrs=Nichts
Setze conn = Nothing
Funktion beenden
Ok, die obige Funktion wurde transformiert und lautet beim Aufruf DisplayRecords.
Hier kommt die Anwendung ins Spiel:
„Diese Funktion dient zum Schreiben in die Cache-Funktion DisplayCachedRecords(Secs)“
Dimmen Sie retVal, datVal, temp1
'Sekunden sind die Zeit, die jedes Mal zum Aktualisieren der Daten benötigt wird, retVal sind die Daten, datVal ist die verbleibende Zeit. retVal = Application("cache_demo") 'Den Wert der Anwendung abrufen datVal = Application("cache_demo_date") 'Den Wert der Anwendung abrufen 'Beurteilen Sie den Wert von datVal, das heißt, um zu berechnen, ob Zeit vergangen ist. Wenn datVal = "" Dann
'Wenn es leer ist, ist der datVal-Wert die aktuelle Zeit in Sekunden plus die durch Sekunden definierte Zeit datVal = DateAdd("s",Secs,Now)
Ende wenn
'temp1 ist die zweite Differenz zwischen der aktuellen Zeit und datVal temp1 = DateDiff("s", Now, datVal)
'Wenn retVal bereits der Rückgabewert der obigen Funktion ist und die Zeit größer als 0 ist
Wenn temp1 > 0 und retVal <> „“ dann
'Diese Funktion gibt die Anzahl der Datensätze DisplayCachedRecords = retVal zurück
Response.Write „<b><font color=""green"">Cache zum Lesen von Daten verwenden“
Response.Write " ... (" & temp1 & " verbleibende Sekunden)</font></b>"
Response.Write „<br><br>“
Anders
Wenn 'retVal leer ist, weisen Sie der Variablen temp2 den Wert von DisplayRecords zu
Dimmtemp2
temp2 = DisplayRecords()
'In Anwendung speichern.------------------>Anwendung fokussieren.Sperren
Anwendung("cache_demo") = temp2
Application("cache_demo_date") = DateAdd("s",Secs,Now)
Anwendung.UnLock
DisplayCachedRecords = temp2
' Hier wird beiläufig die vergangene Zeit des aufgezeichneten Caches geschrieben, und die Differenz zur Gesamtzahl der Sekunden beträgt:
Response.Write „<b><font color=""red"">Cache-Anzeige aktualisieren..."
Response.Write „</font></b><br><br>“
Ende wenn
Funktion beenden
%>
Die Erklärung ist vollständig.
Das Folgende ist die vollständige unkommentierte Code-
Aufrufmethode: <%=DisplayCachedRecords(20)%>
Am Ende geschrieben: Wenn Sie der Meinung sind, dass Ihr Serverspeicher nicht groß genug ist, verwenden Sie nicht zu viel davon Cache.