- Author:
- bikeshedder
- Posted:
- September 24, 2012
- Language:
- Python
- Version:
- Not specified
- Score:
- 0 (after 0 ratings)
@cache(60)
def heavy_computation():
for x in xrange(10000000):
pass # just waste some time`
The result of heavy_computation calls will be cached for 60 seconds. This cache decorator does not use the Django cache backend and uses the local memory instead.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | from time import time
class cache(object):
def __init__(self, seconds):
self.seconds = seconds
self.value = None
self.timestamp = None
def __call__(self, f):
def cached():
now = time()
if now - self.seconds > self.timestamp:
self.value = f()
self.timestamp = now
return self.value
return cached
|
More like this
- find even number by Rajeev529 2 weeks ago
- Form field with fixed value by roam 1 month ago
- New Snippet! by Antoliny0919 1 month, 1 week ago
- Add Toggle Switch Widget to Django Forms by OgliariNatan 4 months ago
- get_object_or_none by azwdevops 7 months, 3 weeks ago
Comments
Please login first before commenting.