将版本/风味添加到Redis中的键

时间:2018-05-23 01:12:34

标签: redis

我们将路径存储在redis中的数据如下:

KEY: `/pathOfUniqueAsset/v11/`
VALUE: `/disk1/pathOfUniqueAsset/path/v/11/`. 

正如您所看到的,代表版本的v将随着时间的推移而增长。我想知道是否有办法存储密钥/值对的flavors / versions

2 个答案:

答案 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