我可以使用正则表达式一次删除多个具有相似密钥名称的密钥吗?
例如键是:
key1
key2
key3
command [key.]
Run Code Online (Sandbox Code Playgroud)
使用哪个“命令”应该删除key1,key2和key3的全部?
Memcached没有使用正则表达式删除密钥的选项。您可以按键删除缓存的数据,或刷新整个缓存。
如果您有类似的密钥,则可以查看Memcached namspacing的官方Wiki 。
例如,不要像这样将您在Memcached中的密钥保存在其中:
key1
key2
key3
Run Code Online (Sandbox Code Playgroud)
您可以在名称空间中组织键,它们现在看起来像这样:
key:<namespace_value>:1
key:<namespace_value>:2
key:<namespace_value>:3
Run Code Online (Sandbox Code Playgroud)
其中namespace_value是一些随机整数,您也将在每个缓存区域(带有前缀“ key”)中将其保留在Memcached中,例如,如果您的缓存数据如下所示:
<key> <value>
namespace:key 1234
key:1234:1 value1
key:1234:2 value2
key:1234:3 value3
Run Code Online (Sandbox Code Playgroud)
现在,在访问密钥之前,您将首先获取namespace_value,并将其附加到密钥中。
1234)key:<namespace_value>:1=> key:1234:1现在要退出所有带有前缀“ key”的键,只需增加namespace_value,然后将其保存回缓存即可。现在,您的命名空间值为1235,而缓存数据将为:
<key> <value>
namespace:key 1235
key:1234:1 value1
key:1234:2 value2
key:1234:3 value3
Run Code Online (Sandbox Code Playgroud)
使用新名称空间值对key1进行的下一次提取将搜索key:1235:1,这将使您错过机会。因此,您已收回所有密钥的缓存。
| 归档时间: |
|
| 查看次数: |
1740 次 |
| 最近记录: |