我正在接受一些在 Nodejs 中使用 Redis 的指导。
这是我的代码实现:
redis.get(key)
if (!key) {
redis.set(key, { "SomeValue": "SomeValue", "SomeAnohterValue": "SomeAnohterValue" }
}
return redis.get(key)
到目前为止一切正常。
但是让我们假设一种情况,我需要从函数调用中获取值并将其设置到 Redis,然后我可以随时从 Redis 获取相同的值,在这种情况下,我不需要再次调用该函数再次获取值。
但是对于一个实例,值已更改或更多值已添加到我的实际 API 调用中,现在我需要再次调用该函数以再次更新与同一键对应的 Redis 内的值。
但我不知道该怎么做。
如有任何帮助,我们将不胜感激。
提前谢谢您
首先,您的初始代码有一个错误。您应该使用 redis 原生提供的 set if not exit 功能,而不是进行检查和设置调用
您所描述的称为缓存失效,是软件开发中最难的部分之一
当值发生变化时,您需要以某种方式进行“通知”,以便获取器知道是时候获取最新值了。
一种简单的方法是使用一个脏布尔变量,在更新值时以及在获取时检查该变量时将其设置为 true。如果脏,则从 redis 获取并设置为 false,否则返回之前的 vue