我们将路径存储在redis中的数据如下:
KEY: `/pathOfUniqueAsset/v11/`
VALUE: `/disk1/pathOfUniqueAsset/path/v/11/`.
正如您所看到的,代表版本的v将随着时间的推移而增长。我想知道是否有办法存储密钥/值对的flavors
/ versions
?
答案 0 :(得分:0)
您可以使用Hash而不是String作为键的值类型。在Hash中,您可以为每个版本/ flavor添加一个字段,并将值作为关联路径。
E.g:
HSET /pathOfUniqueAsset v11 /disk1/pathOfUniqueAsset/path/v/11/
答案 1 :(得分:0)
你想要达到什么目的?你需要保留旧版本吗?如果没有,请覆盖密钥。如果是的话,钥匙的“版本”会给你什么?您已经从密钥中了解了您的版本。如果您将密钥安排为pathOfUniqueAsset.v11,则可以稍后发出KEYS pathOfUniqueAsset.*
(或更好SCAN
)以获取所有版本。这样您就可以单独设置EXPIRE
。如果您使用HSET
之类的@ItamarHaber建议您只能手动删除值,但迭代一组比KEYS
查找快得多(编辑:实际上,它取决于某些因素,主要是其他钥匙)。
如果您想要将每个版本的资产列表保存在一起,则可以使用与此版本关联的专用密钥集。像
SET /pathOfUniqueAsset/v1 ...
HSET assets.v1 pathOfUniqueAsset /pathOfUniqueAsset/v1