Stockpyle.

Un semplice deposito multistrato e API nella cache
Scarica ora

Stockpyle. Classifica e riepilogo

Annuncio pubblicitario

  • Rating:
  • Licenza:
  • BSD License
  • Prezzo:
  • FREE
  • Nome editore:
  • Matt Pizzimenti
  • Sito web dell'editore:
  • http://rfacebook.rubyforge.org/

Stockpyle. Tag


Stockpyle. Descrizione

Un semplice deposito multistrato e API nella cache Stockpyle è un modulo Python che fornisce un modo semplice per impostare una serie di contenitori di stoccaggio ai fini della creazione di semplici memorizzazione della cache di scrittura. Stoccaggio.USAGGIO: uno script più semplice che imposta una cache a due livelli con memoria di processo memcached e di processo locale: da Stockpyle import Multistore, MemCachestore, ProcessMemoryStore # istanziare il multistore come scritta da scrittura cachepm = processmemorystore () mc = memcachestore (Server = ) store = multistore () # dichiarare una classe che è unico per ciascun (bar, zap) combinazione di combinazione foo (oggetto): __stockpyle_keys__ = Dim __init __ (self, bar, zap): self.bar = bar self.zap = zap # Crea e salvare un foo to the multistoreobj = foo (bar = 444, zap = 888) store.put (obj) # recupera un foo dal negozio, in base alla combinazione (barra, zap) # questo colpisce prima la cache di memoria locale e eviterà MemCache # Dal momento che l'oggetto è già memorizzato nella cache trerrerievad_obj = store.get (foo, {"bar": 444, "zap": 888}) Questo esempio non è quell'interra ting, dal momento che stiamo usando due cache. Facciamo uno che supporta gli oggetti sqlalchemy: da Stockpyle.stores import multistore, sqlalchemystore, memcachestore, processmemorystorepm = processmemorystore () mc = memcachestore (server = ) sa = sqlalchemystore () store = multistore () # STORE IT, questo lo scriverà attraverso la cache e nel databaseSepersistent_obj = mysqlalchemybackedclass () store.put (persistent_obj) Nota l'ordinamento nella Dichiarazione MultiStore: L'SQLalchemyStore arriva per ultimo, poiché funge da persevera strato. Successivamente viene tentare la memoria del processo, quindi tentare la memcache, e infine controlla il database.Also, possiamo trattare la cache della memoria del processo e il memcached in modo diverso utilizzando scarsioni diverse. Ad esempio, è possibile che la memoria di processo scada rapidamente, ma Memcached per durare un po 'più a lungo dal momento che puoi effettivamente tenerlo coerente su più macchine. Questo esempio costringe gli oggetti Foo per essere scaduti in modo più aggressivo dalla memoria locale rispetto a Memcached: PM = ProcessMoryStore () MC = MemCacheStore (Server = ) sa = sqlalchemystore () store = multistore ( ) # Oggetti Foo dureranno 60 secondi nella memoria locale e 5 minuti in memcacheppm.configure (classi = , Lifetime = 60) mc.configure (classi = , vita = 5 * 60) Vuoi prendere un Mazzo di oggetti? Usa batch_get: OBJ1, OBJ2, OBJ3 = Store.Batch_get (Foo, ) Vuoi memorizzare un gruppo di oggetti? Usa BATCH_PUT: OBJ1 = FOO (111, 777) OBJ2 = FOO (222, 888) OBJ3 = FOO (333, 999) STORE.BATCH_PUT () Eliminazione degli oggetti è facile (Batch Elimina in arrivo): Store.Delete (OBJ1) È possibile utilizzare la classe Helper memorizzabile per ottenere l'accesso a livello di classe alle API di stoccaggio: da StockPilyle Import StorableClass Bar (memorizzabile): __Stockpyle_Keys__ = def __init __ (sé , foo, bar): self.foo = foo self.bar = bar # legame a un oggetto di archiviazione = processmemorystore () bar.bind (negozio) # Salva un oggettobj = bar (111, 777) obj.put () # un oggettobj = bar.get ({"foo", "bar"}) # Elimina un oggettoBj.Delete () # GetObj1, obj2 = bar.batched_get () Requisiti: · Python.


Stockpyle. Software correlato

Keryx.

Una piattaforma trasversale WXWidgets applicazione per aggiornare i sistemi Linux che hanno una scarsa connettività netta ...

315

Scarica