Login

ached decorator for functions

Author:
pawnhearts
Posted:
January 7, 2010
Language:
Python
Version:
1.1
Tags:
cache
Score:
1 (after 1 ratings)

example:

@cached() def foo(slug): return Egg.objects.filter(slug=slug)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
from django.core.cache import cache
from hashlib import sha256

def cached(ctime=3600):
    def decr(func):
        def wrp(*args,**kargs):
            key = sha256(func.func_name+repr(args)+repr(kargs)).hexdigest()
            res = cache.get(key)
            if res is None:
                res = func(*args,**kargs)
                cache.set(key,res,ctime)
            return res
        return wrp
    return decr

More like this

  1. AutoSlugField and unique_slugify combined by Ciantic 5 years, 4 months ago
  2. Cache Decorator by ericmoritz 6 years, 5 months ago
  3. Automate unique slug (again) by davidwtbuxton 7 years ago
  4. Hierarchical page slugs by baumer1122 7 years, 9 months ago
  5. Clear Django Cache by girasquid 6 years, 8 months ago

Comments

Please login first before commenting.