def get_cache_key(self, *args, **kwargs):
callargs = inspect.getcallargs(self.fn, *args, **kwargs)
values = []
if isfunction(self.vary_on):
values = self.vary_on(*args, **kwargs)
else:
for arg_name, attrs in self.vary_on:
value = callargs[arg_name]
for attr in attrs:
value = getattr(value, attr)
values.append(value)
args_string = ','.join(self._serialize_for_key(value)
for value in values)
if len(args_string) > 150:
args_string = 'H' + self._hash(args_string)
return 'quickcache.{}/{}'.format(self.prefix, args_string)
评论列表
文章目录