0

当客户端进行 POST 时,我需要删除此请求修改的所有数据。

我的 memcached 键是散列的,所以我无法通过前缀找到它。我找到的唯一解决方案是将字典存储在数据库或缓存中,我更喜欢缓存。

您认为以下想法是否好:

  • 存储缓存键的字典/列表?
  • 为这个功能使用缓存或数据库?
  • 在逻辑和性能方面,它真的是稳定的解决方案吗?
  • 也许使用第二个缓存来制作它?

谢谢大家。

编辑:

我想存储一个字典如下:

{
  'subject1': ['key1','key2'],
  'subject2': ['key3','key3']
}
4

1 回答 1

1

在不了解您的应用程序细节的情况下,很难给您一个满意的答案。考虑到这一点...

这可能是一个可接受的解决方案;但是请记住,对象可以在过期日期之前从 memcached 中逐出,在这种情况下,您将丢失您的键索引。

根据您的特定用例,此限制可以接受也可以不接受。

一种可能更好地为您服务的方法是聪明地命名您的钥匙;例如,如果您的应用程序处理书籍,您可以将各种数据缓存在名称下,例如book.<id>.author,book.<id>.title等。这样,如果您需要使 id 为 42 的书籍的所有数据无效,您只需生成所有缓存名称即可需要使 ( book.42.author,book.42.title等) 无效并删除它们。

于 2013-09-16T18:44:51.810 回答