Attribuut :: Cached

Cache Subroutines Cache Resultaten met behulp van A: Cache Attribuut
Download nu

Attribuut :: Cached Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Perl Artistic License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Thermeon Europe
  • Uitgever website:
  • http://search.cpan.org/~osfameron/

Attribuut :: Cached Tags


Attribuut :: Cached Beschrijving

Gemakkelijk cache-subroutines Resultaten met behulp van A: CACHED ATRIBUTE In veel toepassingen, inclusief webtoepassingen, worden cachinggegevens gebruikt om de sites te schalen, het handelen van een klein gebrek aan directheid in resultaten met een lagere belasting op dB en andere bronnen. Zoals zullen we iets doen als deze submy_query {My ($ zelf,% pars) = @_; # Krijg een cache mijn $ cache = $ self-> get_cache; # Genereer een sleutel: bijvoorbeeld met% pars (foo => 1), kunnen we # de sleutel "my_query: foo = 1" gebruiken; mijn $ key = $ self-> get-sleutel (% pars); mijn $ resultaat; # Controleer of we deze oproep al in de cache hebben opgetreden en retourneren als ($ result = $ cache-> krijgt ($ sleutel)) {Warn "cache hit voor $ sleutel"; return $ resultaat; } # De volgende regels zijn wat deze subroutine is / eigenlijk / doet $ resultaat = $ self-> dure_operation; # ... extra verwerking zoals vereist # Stel het resultaat in de cache voor toekomstige toegang tot $ cache-> set ($ sleutel, $ resultaat, 20); # Harde code Een cache-tijd hier retourneren $ resultaat; } De CACHING LOGIC is herhaalde boilerplaat en, erger, heeft echt niets te maken met wat we hier proberen te bereiken. Met Attribuut :: Cached We zouden dit schrijven als: sub getachache {mijn $ self = shift; Retourneer $ Self-> Get_Cache (@_)} Sub My_Query: Cached (Time => 20, Key => Get_Key) {My $ Results = $ Self-> Duurzaam_Operation; # ... extra verwerking als vereist retourzending $ resultaat; } Synopsis Sub GetCache {return $ global_cache} sub foo: Cached (60) {...} Subbalk: Cached (Time => 30, Key => Keygen) {...} # of leveren een specifieke cache sub baz: Cached (Time => 20, Cache => $ cache) {...} Vereisten: · Perl


Attribuut :: Cached Gerelateerde software