如何通过标签获取所有元素?
How to get all elements by tag?
我使用 diskcache 来保存我的数据。我保存用户cache.add(key=k, value=v, tag="users")
,现在我想通过tag
获取所有用户,但是没有这种方法。
我该怎么做?
我发现只有一种方法可以做到这一点:
def _get_all(self):
r = []
for k in list(self._cache.iterkeys()):
r.append(self._cache.get(key=k))
但是这种方式不假定标签作为参数,所以我不能在 1 个磁盘缓存实例中保留不同的项目并按标签过滤它们。
根据标签值查看python-diskcache, the sole purpose of the tag is be used in an SQLite index which is meant to enable fast cache eviction/culling的源码
唯一使用 tag
的 SQL 语句是在 .evict()
方法中。
没有官方 API 可以通过标签获取缓存条目,库也不是为这样做而设计的。数据库的整个底层设置和项目检索机制都是以键为中心的。
我使用 diskcache 来保存我的数据。我保存用户cache.add(key=k, value=v, tag="users")
,现在我想通过tag
获取所有用户,但是没有这种方法。
我该怎么做?
我发现只有一种方法可以做到这一点:
def _get_all(self):
r = []
for k in list(self._cache.iterkeys()):
r.append(self._cache.get(key=k))
但是这种方式不假定标签作为参数,所以我不能在 1 个磁盘缓存实例中保留不同的项目并按标签过滤它们。
根据标签值查看python-diskcache, the sole purpose of the tag is be used in an SQLite index which is meant to enable fast cache eviction/culling的源码
唯一使用 tag
的 SQL 语句是在 .evict()
方法中。
没有官方 API 可以通过标签获取缓存条目,库也不是为这样做而设计的。数据库的整个底层设置和项目检索机制都是以键为中心的。