Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
向Redis中的键添加版本/味道_Redis - Fatal编程技术网

向Redis中的键添加版本/味道

向Redis中的键添加版本/味道,redis,Redis,我们将数据路径存储在redis中,如下所示: KEY: `/pathOfUniqueAsset/v11/` VALUE: `/disk1/pathOfUniqueAsset/path/v/11/`. 正如您所看到的,代表版本的v将随着时间的推移而增长。我想知道是否有一种方法可以存储键/值对的风格/版本?您可以使用哈希而不是字符串作为键的值类型。在散列中,每个版本/风格可以有一个字段,并将该值作为关联的路径 例如: 你想达到什么目标?您需要保留旧版本吗?如果没有,请覆盖密钥。如果是,钥匙的“版

我们将数据路径存储在redis中,如下所示:

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

正如您所看到的,代表版本的v将随着时间的推移而增长。我想知道是否有一种方法可以存储键/值对的
风格
/
版本

您可以使用哈希而不是字符串作为键的值类型。在散列中,每个版本/风格可以有一个字段,并将该值作为关联的路径

例如:


你想达到什么目标?您需要保留旧版本吗?如果没有,请覆盖密钥。如果是,钥匙的“版本”会给你什么?您已经从密钥中知道了您的版本。如果您将密钥排列为pathofuniqueaset.v11,则可以稍后发布
密钥pathofuniqueaset.
(或更好的
扫描
)以获取所有版本。这样,您可以单独设置
过期
。如果像@ItamarHaber一样使用
HSET
,则建议您只能手动删除值,但迭代集合要比
查找快得多(编辑:实际上,这取决于某些因素,主要是其他键的数量)

如果您希望每个版本的资产列表保存在一起,则可以使用与此版本关联的所有密钥的专用集。像

SET /pathOfUniqueAsset/v1 ...
HSET assets.v1 pathOfUniqueAsset /pathOfUniqueAsset/v1

我如何查询它呢?
HGET/pathofuniqueaset v11
以获取特定版本。或者您可以获取
HKEYS/pathofuniqueaset
以获取所有版本并选择要查询的内容。
SET /pathOfUniqueAsset/v1 ...
HSET assets.v1 pathOfUniqueAsset /pathOfUniqueAsset/v1