如何更新Radis的动态值?

问题描述 投票:0回答:1

我正在接受一些在 Nodejs 中使用 Redis 的指导。

这是我的代码实现:

redis.get(key)

if (!key) {
    redis.set(key, { "SomeValue": "SomeValue", "SomeAnohterValue": "SomeAnohterValue" }
}
return redis.get(key)

到目前为止一切正常。

但是让我们假设一种情况,我需要从函数调用中获取值并将其设置到 Redis,然后我可以随时从 Redis 获取相同的值,在这种情况下,我不需要再次调用该函数再次获取值。

但是对于一个实例,值已更改或更多值已添加到我的实际 API 调用中,现在我需要再次调用该函数以再次更新与同一键对应的 Redis 内的值。

但我不知道该怎么做。

如有任何帮助,我们将不胜感激。

提前谢谢您

caching redis node-redis
1个回答
1
投票

首先,您的初始代码有一个错误。您应该使用 redis 原生提供的 set if not exit 功能,而不是进行检查和设置调用

您所描述的称为缓存失效,是软件开发中最难的部分之一

当值发生变化时,您需要以某种方式进行“通知”,以便获取器知道是时候获取最新值了。

一种简单的方法是使用一个脏布尔变量,在更新值时以及在获取时检查该变量时将其设置为 true。如果脏,则从 redis 获取并设置为 false,否则返回之前的 vue

© www.soinside.com 2019 - 2024. All rights reserved.