首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用node-redis删除redis中的键数组

使用node-redis删除redis中的键数组
EN

Stack Overflow用户
提问于 2015-09-29 19:27:32
回答 4查看 17.7K关注 0票数 11

我有像"aaa","bbb","ccc“这样的键数组,所以我想用一个命令从redis中删除所有这些键。我不想使用循环进行迭代。我读到过redis命令DEL,在终端redis-client上它可以工作,但是使用nodejs它不能工作

代码语言:javascript
复制
Redisclient.del(tokenKeys,function(err,count){
             Logger.info("count is ",count)
             Logger.error("err is ",err)

         })

其中tokenKeys="aaa","bbb","ccc“,这个代码是工作的,如果我发送一个密钥,如tokenKeys="aaa”

EN

回答 4

Stack Overflow用户

发布于 2015-09-29 19:52:22

您可以按如下方式传递数组

代码语言:javascript
复制
var redis = require("redis"),
    client = redis.createClient();

client.on("error", function (err) {
    console.log("Error " + err);
});

client.set("aaa", "aaa");
client.set("bbb", "bbb");
client.set("ccc", "ccc");

var keys = ["aaa", "bbb", "ccc"];


client.keys("*", function (err, keys) {
    keys.forEach(function (key, pos) {
         console.log(key);
    });
});

client.del(keys, function(err, o) {
});

client.keys("*", function (err, keys) {
    keys.forEach(function (key, pos) {
         console.log(key);
    });
});

如果运行上面的代码,您将获得以下输出

代码语言:javascript
复制
$ node index.js
string key
hash key
aaa
ccc
bbb
string key
hash key

显示设置后打印的密钥,删除后不打印

票数 14
EN

Stack Overflow用户

发布于 2017-02-06 22:32:48

当然,在当前版本的node_redis (v2.6.5)中,可以使用逗号分隔的键列表或键数组来删除这两者。请参阅两个here的测试。

代码语言:javascript
复制
var redis = require("redis");
var client = redis.createClient();

client.set('foo', 'foo');
client.set('apple', 'apple');

// Then either

client.del('foo', 'apple');

// Or

client.del(['foo', 'apple']);
票数 5
EN

Stack Overflow用户

发布于 2016-05-24 18:56:35

del函数直接在Redis DB客户端实现,即redis.del("aaa","bbb","ccc")会删除多个项目

要使其与数组一起工作,请使用JavaScript apply方法:

代码语言:javascript
复制
redis.del.apply(redis, ["aaa","bbb","ccc"])
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32842712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档