Skip to content

A Python decorator library for caching function results in MongoDB

License

Notifications You must be signed in to change notification settings

shunyeka-spl/mongo-memoize

 
 

Repository files navigation

mongo-memoize

https://badge.fury.io/py/mongo-memoize.png https://travis-ci.org/ikuyamada/mongo-memoize.png?branch=master

A Python decorator library for instantly caching function results in MongoDB.

Basic Usage

from mongo_memoize import memoize

@memoize()
def func():
    ...

Customization

You can specify custom serializer and key_generator. serializer is used to serialize function results in order to convert them into formats that can be stored in MongoDB. key_generator generates a cache key from the function arguments. PickleSerializer and PickleMD5KeyGenerator are used by default.

from mongo_memoize import memoize, NoopSerializer, PickleMD5KeyGenerator

@memoize(serializer=NoopSerializer(), key_generator=PickleMD5KeyGenerator())
def func():
    ...

Using Capped Collection

Capped collection is a MongoDB feature which allows to limit the maximum size of the collection. By setting capped=True, a capped collection is created automatically.

from mongo_memoize import memoize

@memoize(capped=True, capped_size=100000000)
def func():
    ...

Documentation

http://mongo-memoize.readthedocs.org/

About

A Python decorator library for caching function results in MongoDB

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%