Lo que escribí antes: este artículo todavía está relacionado con ASP. Creo que todos los que juegan ASP se sienten así cuando hay más de 50.000 datos, al igual que en la red de música, los últimos 10 deben llamarse y mostrarse. la página. Lo malo es que cuando n varios usuarios abren la página para acceder, cada usuario tiene que leer la base de datos una vez cada vez, lo que sin duda reduce la eficiencia, obviamente, si los datos se pueden guardar en la memoria y luego leer. Sin duda, acelera el proceso. El llamado caché en realidad abre un espacio en la memoria para guardar datos. Al usar el caché, no es necesario acceder con frecuencia a los datos que guarda en el disco duro, porque esperamos. que todos los usuarios puedan ver estos datos. El efecto es el mismo. Considere usar el objeto de aplicación porque es un objeto común para todos los visitantes. La información almacenada y los eventos definidos pueden ser utilizados por el visitante propietario. APLICACIÓN del objeto incorporado Con respecto a la aplicación, hay 2 Un método [bloquear y desbloquear], dos colecciones [contenido y objetos estáticos], dos eventos [application_onstart y application_end], la variable de la aplicación no desaparecerá porque el usuario se vaya una vez establecida. Esperará hasta que se cierre el sitio web y se desinstale el programa. Debido a esto, debe tener especial cuidado al usarlo. De lo contrario, no necesito decir más aquí. Consulte la información relevante. Es más o menos así. Estamos escribiendo los datos en una aplicación personalizada. La idea general es leerlos y actualizarlos en el momento especificado.
Primero, cree una base de datos simple y escriba una función para leerla. y escríbalo en una variable temp tenue:
El siguiente es un fragmento de referencia:
Función MostrarRegistros()
'Esta función originalmente asignó el valor registrado Dim sql, conn, rs a una variable temp
'Sentencia SQL condicional sql = "SELECT id, [szd_f], [szd_t] FROM admin"
'Abrir conexión de base de datos Establecer conexión = Server.CreateObject("ADODB.Connection")
conn.Open "DRIVER={Controlador de Microsoft Access (*.mdb)}; DBQ="&Server.MapPath("db.mdb")
Establecer rs = Server.CreateObject("ADODB.Recordset")
rs.Abrir sql, conexión, 1, 3
'Cuando no se han mostrado los datos que coinciden con la declaración sq l, si no es rs.EOF, entonces
'Asignar temperatura tenue a la variable temporal
temp = "<ancho de tabla=""90%"" align=""centro"""
temp = temp & " border=""1"" bordercolor=""plata"""
temperatura = temperatura & " cellspace=""2"" cellpadding=""0"">"
temperatura = temperatura & "<tr bgcolor=""#CCDDEE""><td width=""5%"""
temp = temp & ">ID</td><td>Operación</td>"
temperatura = temperatura & "<td>Número</td></tr>"
Aunque no rs.EOF
temperatura = temperatura & "<tr><td bgcolor=""#CCDDEE"">"
temp = temp & rs("ID") & "</td><td>" & rs("szd_f")
temperatura = temperatura & "</td><td>" & rs("szd_t")
temperatura = temperatura & "</td></tr>"
rs.MoverSiguiente
Encaminarse a
temperatura = temperatura & "</table>"
'Una vez completada la asignación temporal, devuélvala a la función DisplayRecords = temp
Demás
DisplayRecords = "Datos no disponibles".
Terminar si
'Liberar memoria rs.Cerrar
conexión.Cerrar
Configurar=Nada
Establecer conexión = Nada
Función final
Bien, la función anterior se ha transformado y es DisplayRecords cuando se llama.
Aquí es donde entra en juego la aplicación:
'Esta función es para escribir en la caché Función DisplayCachedRecords(Secs)
Dim retVal, datVal, temp1
'Segs es el tiempo para actualizar los datos cada vez, retVal son los datos, datVal es el tiempo restante retVal = Application("cache_demo") 'Obtiene el valor de la aplicación datVal = Application("cache_demo_date") 'Obtiene el valor de la aplicación 'Juzga el valor de datVal, es decir, calcula si ha pasado el tiempo. Si datVal = "" Entonces.
'Si está vacío, el valor datVal es el tiempo actual en segundos más el tiempo definido por secs datVal = DateAdd("s",Secs,Now)
Terminar si
'temp1 es la segunda diferencia entre la hora actual y datVal temp1 = DateDiff("s", Ahora, datVal)
'Si retVal ya es el valor de retorno de la función anterior y el tiempo es mayor que 0
Si temp1 > 0 y retVal <> "" Entonces
'Esta función devuelve el número de registros DisplayCachedRecords = retVal
Response.Write "<b><font color=""green"">Usar caché para leer datos"
Respuesta.Escribir "... (" & temp1 & " segundos restantes)</font></b>"
Respuesta.Escribe "<br><br>"
Demás
Si 'retVal está vacío, asigne el valor de DisplayRecords a la variable temp2
Temp2 tenue
temp2 = MostrarRegistros()
'Guardar en la aplicación.------------------>Enfocar la aplicación.Bloquear
Aplicación ("cache_demo") = temp2
Aplicación("cache_demo_date") = DateAdd("s",Secs,Now)
Aplicación.Desbloquear
DisplayCachedRecords = temp2
' El tiempo pasado del caché registrado se escribe aquí de manera casual, y la diferencia con respecto al número total de segundos es:
Response.Write "<b><font color=""red"">Actualizar visualización de caché..."
Respuesta.Escribe "</font></b><br><br>"
Terminar si
Función final
%>
La explicación está completa.
El siguiente es el método completo
de llamada de código sin comentar: <%=DisplayCachedRecords(20)%>
Escrito al final: Si cree que la memoria de su servidor no es lo suficientemente grande, no use una gran cantidad de. cache.