stockpyle

Een eenvoudige meerlagige opslag- en caching-API
Download nu

stockpyle Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • BSD License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Matt Pizzimenti
  • Uitgever website:
  • http://rfacebook.rubyforge.org/

stockpyle Tags


stockpyle Beschrijving

Een eenvoudige meerlagige opslag- en caching-api StockPyle is een Python-module die een eenvoudige manier biedt om een reeks opslagcontainers in te stellen voor het maken van eenvoudige schrijf-through-opslag.usage: eenvoudigste script dat een cache op twee niveaus instelt met memcached en lokaal procesgeheugen: van StockPyle importeren MultiShistore, Memcachestore, ProcessMemoryStore # Instantiate de MultiSeore als een schrijf-through cachepm = procesmemorystore () MC = MEMCACHESTORE (Servers = ) Store = MultiShristore () # Verkeer een klasse is uniek voor elke (bar, zap) Combinatieclass foo (object): __Stockpyle_Keys__ = Def __init __ (zelf, bar, zap): self.bar = bar self.zap = zap # create en Save a Foo to the multiqoreobj = foo (bar = 444, zap = 888) winkel.put (obj) # ophalen een foo uit de winkel, gebaseerd op de (bar, zap) combinatie # Dit zal eerst de lokale geheugencache ophalen , en vermijd memcache # omdat het object al cached theretrieved_obj = store.get (foo, {"bar": 444, "zap": 888}) Dit voorbeeld is niet die interes ting, omdat we twee caches gebruiken. Laten we er een doen die sqlalchemy-objecten ondersteunt: van StockPyle.stores Import MultiShristore, Sqlalchemystore, Memcachestore, ProcessMemoryStorePM = ProcessMemoryStore () MC = MEMCACHESTORE (Servers = ) SA = SQLALCHEMMYSTORE () Store = MultiShristore (PM, MC, SA]) # Bewaar het, dit zal het door de cache schrijven en in de databasepersistent_obj = mysqlalchemybackedclass () Store.put (Persistent_obj) Noteer de bestelling in de Multiestore-verklaring: de Sqlalchemystore komt als laatste, omdat het handelt als de laatste persistentie laag. Daarop wordt het procesgeheugen geprobeerd en probeer dan Memcache te proberen en de database ten slotte te controleren. Ook kunnen we de procedure-geheugencache en de MEMCACHED behandelen anders met behulp van verschillende expiraties. Misschien wilt u bijvoorbeeld het procesgeheugen om snel te verlopen, maar MEMCACHED om iets langer mee te gaan, omdat u het daadwerkelijk consistent kunt houden op meerdere machines. Deze voorbeeld dwingen foo-objecten om agressiever te worden verlopen van het lokale geheugen dan Memcached: PM = MEMORMOUNTYSTORE () MC = MEMCACHEORE (Servers = ) SA = SQLALCHEMYSTORE () Store = MultiShristore (PM, MC] ) # Foo-objecten duren 60 seconden in het lokale geheugen, en 5 minuten in Memcachepm.Configure (klassen = , lifetime = 60) mc.configure (klassen = , lifetime = 5 * 60) Wil je een grijpen Bos van objecten? Gebruik batch_get: obj1, obj2, obj3 = store.batch_get (foo, ) Wil je een heleboel objecten opslaan? Gebruik batch_put: obj1 = foo (111, 777) OBJ2 = FOO (222, 888) OBJ3 = FOO (333, 999) Store.batch_put () Objecten verwijderen is eenvoudig (batch-verwijderingen binnenkort): Winkel.Delete (OBJ1) U kunt de opslagbare helperklasse gebruiken om toegang te krijgen tot toegang tot de opslag-API's: van stockpyle import storableclass bar (bewaarbaar): __Stockpyle_Keys__ = Def __init __ (zelf , foo, bar): self.foo = foo self.bar = bar # binden aan een opslagobjecten = procesmemorystore () bar.bind (winkel) # Save a DoborbJJ = bar (111, 777) obj.put () # een objectobj = bar.get ({"foo", "bar"}) # Verwijder een objectobj.delete () # Getobj1, obj2 = bar.batched_get () Vereisten: · Python


stockpyle Gerelateerde software

libconfigduo

LIBCONFIG is een eenvoudige bibliotheek voor het bestuderen van gestructureerde configuratiebestanden, zoals deze: test.cfg. ...

146

Downloaden

Naaister

Een draagbare bibliotheek die implementeert, Avidan en Shamir's Nood Carving-techniek voor contentbewuste beeldformaat. ...

161

Downloaden