stockpyle.

Uma simples API de armazenamento multi-camadas e armazenamento em cache
Baixe Agora

stockpyle. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • BSD License
  • Preço:
  • FREE
  • Nome do editor:
  • Matt Pizzimenti
  • Site do editor:
  • http://rfacebook.rubyforge.org/

stockpyle. Tag


stockpyle. Descrição

Uma simples armazenamento multi-camadas e API de armazenamento em cache stockpyle é um módulo python que fornece uma maneira simples de configurar uma série de contêineres de armazenamento para fins de criação de armazenamento de cache de gravação simples.Usage: script mais simples que configura um cache de dois níveis com memória de processo memcached e local: de StockPyle Import Multistore, MemcacheStore, ProcessMemoryStore # Instanciar o multistore como um cachepm de gravação = processe () mc = memcachestore (servidores = ) Store = Multistore () # declara uma classe que é exclusivo para cada combinação (bar, zap )classclass foo (objeto): __stockpyle_keys__ = def __init __ (auto, bar, zap): self.bar = bar self.zap = zap # cria e salvar um foo para o multistoreobj = foo (bar = 444, zap = 888) store.put (obj) # Recuperar um foo da loja, com base na combinação (bar, zap) # Isso vai acertar o cache de memória local primeiro e evitará o memcache # desde que o objeto já está em cache teretrieved_obj = store.get (foo, {"bar": 444 ", Zap": 888}) Este exemplo não é que esse interes desde que estamos usando dois caches. Vamos fazer um que suporta objetos sqlalchemy: de stockpyle.stores Import Multistore, Sqlalchemystore, MemcachEstore, ProcessMemoryStorepm = ProcessMorystore () MC = memcachestore (servidores = ) SA = SQLALCHEMYSTORE () Store = Multistore () # armazená-lo, isso irá escrevê-lo através do cache e no DatabaseSepersistent_obj = mysqlalchemybackedclass () store.put (persistent_obj) Observação do pedido na declaração multestora: O Sqlalchemystore vem por último, uma vez que atua como a persistência final camada. Subsequente é tentar a memória do processo, tentará a Memcache e, finalmente, verifique o banco de dados.Also, podemos tratar o cache de memória do processo e os memcached de maneira diferente usando diferentes expirares. Por exemplo, você pode querer que a memória do processo expire rapidamente, mas memcached para durar um pouco mais desde que você pode mantê-lo consistente em várias máquinas. Este exemplo força os objetos foo a serem expirados de forma mais agressiva da memória local do que memcached: PM = ProcessMorystore () MC = memcachestore (servidores = ) SA = SQLALCHEMYSTORE () Store = Multistore ( ) # FOO Objects durará 60 segundos na memória local e 5 minutos em memcachepm.configure (classes = , vitalício = 60) mc.configure (classes = , vitalício = 5 * 60) Quer agarrar um Bando de objetos? Use batch_get: obj1, obj2, obj3 = store.batch_get (foo, ) Quer armazenar um monte de objetos? Use Batch_Put: Obj1 = Foo (111, 777) Obj2 = foo (222, 888) Obj3 = foo (333, 999) Store.batch_put () Excluindo Objetos é fácil (eliminatórias em lote em breve): Store.Delete (OBJ1) Você pode usar a classe auxiliar armazenável para obter acesso a nível de classe às APIs de armazenamento: De stockPyle Import StorableClass Bar (armazenável): __stockpyle_keys__ = def __init __ (auto , foo, bar): self.foo = foo self.bar = bar # vincular a um storage objetsstore = processeMorystore () bar.bind (armazenamento) # salvar um objetobj = bar (111, 777) obj.put () # get um objetoBJ = Bar.Get ({"foo", "bar"}) # Excluir um objetoBJ.Delete () # getobj1, obj2 = bar.batched_get () Requisitos: · Pitão


stockpyle. Software Relacionado

libconfigduo.

libconfig é uma biblioteca simples para analisar arquivos de configuração estruturados, como este: test.cfg. ...

146

Download

libbtctl.

Uma biblioteca destinada a fornecer acesso conveniente ao estilo gobject às funções Bluetooth da plataforma comum. ...

127

Download