【发布时间】:2020-05-03 03:09:39
【问题描述】:
我正在运行一个由 node.js 支持的简单 Web 应用程序,我正在尝试使用 redis 存储一些密钥对 Json 对象,并将数据存储到 redis 中,因为我在“redis- cli" 控制台。但是当我尝试获取数据时,它总是返回 false 事件而没有错误。
我所做的只是在命令行上运行“node index.js”,这是我的 index.js 的前几行:
const getRedisClient = () => {
client = redis.createClient(REDIS["PORT"], REDIS["HOST"]);
client.on("error", function(err) {
console.log("Redis Error " + err);
});
return client;
}
const getPostByLocalDbPath = (local_db_path, user_id) => {
try {
let client = getRedisClient();
console.log("---- cache keys -----");
console.log(user_id, local_db_path);
let data = client.hget(user_id, local_db_path, function (err, obj) {
if(err) {
return null;
}
return obj;
});
console.log("--- cache data ---", data);
return data;
} catch (err) {
console.log("--- cache get exception ---", err);
return {};
}
}
当我调用“getPostByLocalDbPath”方法时,它返回 false 而不是我存储在 redis 缓存中的数据。
当我跑步时
HGET 87 bdre2eb7-38b3-11e9-b66c-0af14c44c62s
redis-cli 控制台上的命令,然后我可以看到该键的数据
【问题讨论】:
-
@griFlo 但现在它返回 true 而不是 value
-
你有来自
hget的回调数据,而不是外部数据。在return obj之前创建一个console.log
标签: node.js redis node-redis