c#memcached:将大对象(即大对象或几个小对象)存储为键值对中的值是否更好?

时间:2017-06-27 18:25:25

标签: c# memcached

我们拥有某些列入黑名单的IP地址的API。我们不希望让这些IP地址的用户访问此API。我们想在Memcache中保存这些被阻止的IP。我们有以下选择:

  1. 保留一个密钥被阻止的IP,这将返回所有被阻止的IP的黑名单。当我们从任何IP获取请求时,我们获取所有这些IP并检查当前IP是否与其中任何一个匹配,然后返回未授权状态或
  2. 为每个被阻止的IP地址保留多个密钥,即blockedIP_ {IpAddress}。当我们收到来自任何IP的请求,即161.42.32.98,我们检查是否存在blockedIP_161.42.32.98?如果是,我们将返回未经授权的状态。

1 个答案:

答案 0 :(得分:0)

这很难回答。如果阻止列表变化非常快,那么您需要#2,这样您就不会在整个大型条目中无效。

但是,如果阻止列表仅每隔几个小时更改一次并且不是很大,则#1是更好的选择,因为您不必监听所有全局缓存更改。