当客户端发布POST时,我需要删除此请求修改的所有数据。
我的memcached密钥是哈希的,所以我无法通过前缀找到它。我找到的唯一解决方案是将数据库存储在数据库或缓存中,我更喜欢缓存。
你认为以下想法是好的:
感谢所有人。
修改
我想将dict存储如下:
{
'subject1': ['key1','key2'],
'subject2': ['key3','key3']
}
答案 0 :(得分:1)
如果不知道申请的具体情况,很难给出满意的答案。考虑到这一点......
这可以是一个可接受的解决方案;但请记住objects can be evicted from memcached before their expiry date,在这种情况下,您将丢失密钥索引。
根据您的具体使用情况,此限制是否可以接受。
可能更好地为您服务的方法是聪明地将您的名字命名为钥匙;例如,如果您的应用程序处理图书,您可以使用book.<id>.author
,book.<id>.title
等名称缓存各种数据。这样,如果您需要使ID为42的图书的所有数据无效,您可以生成无效所需的所有缓存名称(book.42.author
,book.42.title
等)并删除它们。