如何设置一个新的key Redis回调
How to set a new key Redis callback
我可以在 Redis 中设置一个键:
client.set("tmpkey", 100, "EX", 100);
但是在另一个 Redis 函数(KEYS 或 SCAN)的回调中调用此函数时不会设置键:
var client = redis.createClient(process.env.REDIS_PORT, process.env.REDIS_HOST);
client.on('error', function (err) {
console.log(err);
});
client.keys("TAG:*", function(err, res) {
console.log(res);
client.set("TMP", 100, "EX", 100);
});
client.quit(function (err, res) {
console.log('Exiting from quit command.');
});
如何在扫描现有键后在 Redis 中设置值?
猜猜你的redis库。应该是一样的。
But this function does not do the same
它有什么作用?
原来是client.quit()在client.keys()函数的回调执行完之前被调用了
将 client.quit() 移动到 client.keys() 的回调中解决了我的问题。
client.keys("TAG:*", function(err, res) {
console.log(res);
client.set("TMP", 100, "EX", 100);
client.quit(function (err, res) {
console.log('Exiting from quit command.');
});
});
但更好的解决方案是使用 Promises。
我可以在 Redis 中设置一个键:
client.set("tmpkey", 100, "EX", 100);
但是在另一个 Redis 函数(KEYS 或 SCAN)的回调中调用此函数时不会设置键:
var client = redis.createClient(process.env.REDIS_PORT, process.env.REDIS_HOST);
client.on('error', function (err) {
console.log(err);
});
client.keys("TAG:*", function(err, res) {
console.log(res);
client.set("TMP", 100, "EX", 100);
});
client.quit(function (err, res) {
console.log('Exiting from quit command.');
});
如何在扫描现有键后在 Redis 中设置值?
猜猜你的redis库。应该是一样的。
But this function does not do the same
它有什么作用?
原来是client.quit()在client.keys()函数的回调执行完之前被调用了
将 client.quit() 移动到 client.keys() 的回调中解决了我的问题。
client.keys("TAG:*", function(err, res) {
console.log(res);
client.set("TMP", 100, "EX", 100);
client.quit(function (err, res) {
console.log('Exiting from quit command.');
});
});
但更好的解决方案是使用 Promises。