Atributo :: almacenado en cachéLos resultados de las subrutinas de caché fácilmente usando un atributo en caché | |
Descargar ahora |
Atributo :: almacenado en caché Clasificación y resumen
Anuncio publicitario
- Licencia:
- Perl Artistic License
- Precio:
- FREE
- Nombre del editor:
- Thermeon Europe
- Sitio web del editor:
- http://search.cpan.org/~osfameron/
Atributo :: almacenado en caché Etiquetas
Atributo :: almacenado en caché Descripción
Los resultados de las subrutinas de caché fácilmente usando un atributo en caché En muchas aplicaciones, incluidas las aplicaciones web, los datos de almacenamiento en caché se utilizan para ayudar a escalar los sitios, comercializando una leve falta de inmediatez en resultados con una carga más baja en DB y otros recursos. Sin embargo, haremos algo como este sub my_Qery {My ($ yo,% pars) = @_; # Obtener un caché My $ cache = $ auto-> get_cache; # Generar una llave: por ejemplo con% pars (foo => 1), podríamos usar # la clave "my_query: foo = 1"; My $ KEY = $ auto-> get_key (% pars); mi resultado de $; # Compruebe si ya hemos almacenado en caché esta llamada y regresamos, si así ($ resultado = $ caché-> Obtenga ($ Tecla)) {WARN "Hit de Cache para $"; Devolver $ resultado; } # Las siguientes líneas son lo que esta subrutina es / en realidad / haciendo $ resultado = $ auto-> caro_operation; # ... Procesamiento adicional según lo requerido # Establezca el resultado en el caché para accesos futuros $ Cache-> Set ($ KEY, $ resultado, 20); # código duro un tiempo de caché aquí devuelve $ resultado; } La lógica de almacenamiento en caché se repite la placa de caldera y, peor, realmente no tiene nada que ver con lo que estamos tratando de lograr aquí. Con atributo :: Cached Habíamos escrito esto como: Sub GetCache {My $ Self = Shift; Devolver $. # ... Procesamiento adicional según sea necesario devolución $ resultado; } SINOPSIS SUB GETCACHE {DEVOLUCIÓN $ GLOBAL_CACHE} Sub foo: almacenado en caché (60) {...} Sub Barra: Cached (Time => 30, Key => Keygen) {...} # O suministre un caché específico sub baz: Cached (Tiempo => 20, cache => $ cache) {...} Requisitos: · Perl
Atributo :: almacenado en caché Software relacionado