考虑到我有一个关键的溢价,
设定溢价“1000”
现在,我希望产品的价格和溢价一样。我不想说,
hset product_a price“1000”(因为如果溢价价格值发生变化,我希望product_a的价格自动更新)

hset product_a price“premium_price”,这样我就必须得到product_a的价格值,它本身是redis中的一个键,包含实际价格作为它的值。(因为我不想再进行第二次查询来得到premium_key的值)
我能说点什么吗?
HSET产品价格[价值(溢价)]
,其中[value(premium_price)]是指向premium_price key或其他内容的链接
所以当我做一个hget产品的价格时,redis会自动返回premium价格的最新值。
这可能吗?有人告诉我。

最佳答案

一般来说是的,你可以。但是你应该使用lua脚本,因为redis没有内置的功能。
所以你的功能看起来

local hsetValue = redis.call("hget", ARGV[1], ARGV[2]);
if hsetValue then
   return redis.call("get", hsetValue);
end

return nil;

所以可以使用lua函数根据其他键的值获取HSET字段值。

09-16 03:26
查看更多