Rose :: DB :: Object :: em cache

Representação de objeto em cache de memória de uma única linha em uma tabela de banco de dados.
Baixe Agora

Rose :: DB :: Object :: em cache Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Perl Artistic License
  • Preço:
  • FREE
  • Nome do editor:
  • John C. Siracusa
  • Site do editor:
  • http://search.cpan.org/~jsiracusa/

Rose :: DB :: Object :: em cache Tag


Rose :: DB :: Object :: em cache Descrição

Memória cache representação de objeto de uma única linha em uma tabela de banco de dados. Rose :: DB :: Object :: Cache é um módulo Perl com uma memória cache representação de objeto de uma única linha em um pacote Categoria table.SYNOPSIS banco de dados; usar Rose :: DB :: Object :: cache; nossa @ISA = qw (Rose :: DB :: Object :: Cache); __PACKAGE __-> meta-> mesa ( 'categorias'); __PACKAGE __-> meta-> colunas (ID => {type => 'int', primary_key => 1}, nome => {type => 'VARCHAR', comprimento => 255}, Descrição => {type => ' texto' }, ); __PACKAGE __-> meta-> add_unique_key ( 'name'); __PACKAGE __-> meta-> initialize; ... $ cat1 = Categoria-> new (id => 123, name => 'Art'); $ Cat1-> Salvar ou morrer $ categoria-> erro; $ Cat2 = Categoria-> new (id => 123); # Isto irá carregar a partir do cache de memória, não o banco de dados $ cat2-> load ou morrer $ cat2-> erro; # $ Cat2 é o mesmo objeto quanto $ Cat1 imprimir "Yep, cache" if ($ cat1 eq $ cat2); # Não, realmente, é o mesmo objeto $ cat1-> nome ( 'Blah'); imprimir $ cat2-> nome; # imprime "blah" # Os suportes de cache objeto de expiração com base no tempo Categoria-> cached_objects_expire_in ('15 minutos); $ Cat1 = Categoria-> new (id => 123); $ Cat1-> Salvar ou US $ cat1-> morrer; $ Cat1-> carga; # Carregado do cache $ cat2 = Categoria-> new (id => 123); $ Cat2-> carga; # Carregado do cache $ cat3 = Categoria-> new (id => 123); $ Cat3-> carga; # NÃO carregado do cache ... Rose :: DB :: Object :: Cache é uma subclasse de Rose :: DB :: Object, que é apoiado por um write-through de memória cache. Sempre que um objeto é carregado a partir ou salvas no banco de dados, que são armazenados em cache na memória. Qualquer tentativa subseqüente para carregar um objeto da mesma classe com a mesma chave primária ou valor de chave única (s) lhe dará o objeto em cache em vez de carregamento dos meios database.This que modificações para um objeto também irá modificar todos os outros objetos em memória que tem a mesma chave primária. A sinopse acima destaques desta classe fact.This é mais útil para encapsular linhas "read-only", ou outros dados que é atualizado muito raramente. No exemplo acima Categoria, seria ineficiente para carregar repetidamente informações da categoria em um processo de longa duração (tal como um servidor web Apache mod_perl) se muda essa informação cache de memória infrequently.The pode ser liberado para um objeto individual ou todos os objetos de a mesma classe. Há também suporte para expiração de cache baseada em tempo simples. Veja os métodos clear_object_cache e cached_objects_expire_in para mais information.Only os métodos que são substituídos ou não comportamentalmente modificados são documentados aqui. Consulte a documentação Rose :: DB :: Object para o resto. Requisitos: · Perl.


Rose :: DB :: Object :: em cache Software Relacionado