我刚刚开始使用 Python。我在我的应用程序中大量使用缓存,并且我的代码越来越多地使用相同的模式,这是我在整个商店中看到的标准缓存模式。Python 中是否有一些性感的句法技巧可以干掉这些样板文件?
(顺便说一句,这不是实际代码)
# Determine if we are allowed to use cache
cacheable = settings.cache.lifetime is not None
# Generate unique cache key
cache_key = 'something_unique_{some_arg}'.format(some_arg=*args[0])
# Return cached version if allowed and available
if cacheable:
cached = memcache.get(cache_key)
if cached:
return cached
# Generate output
output = do_something_fooey(args[0])
# Cache output if allowed
if cacheable:
memcache.set(cache_key, output, settings.cache.lifetime)
return output
我也将对此进行尝试,可能会编写一个缓存包装函数并将输出生成作为“委托”传递给它(不知道这是不是 Python 术语),但从 Python 获得一些建议会很棒专家。