如何删除存储在 Redis 中的字符串对象元素?

How do I delete a string object element stored in Redis?

我正在尝试使用 LREM 删除存储在 Redis 中的整个对象,但我认为我做的不对,下面是我尝试过的代码:

GraphQL 突变:

deleteImage: async(_,args) => {

    let data = await client.lrem("postedImagesList",0,JSON.stringify(args.id));
    return data
  }

postedImagesList 是所有字符串化的对象元素的 redis 集合:

1) "{\"id\":\"aadc8456-a5c9-46b9-a58c-670446d95c70\",\"url\":\"chas\",\"description\":\"asd\",\"posterName\":\"asda\",\"binned\":false,\"userPosted\":true}"
 2) "{\"id\":\"a24d6d1b-224f-400d-8b84-dac83d8eaf92\",\"url\":\"ihir\",\"description\":\"helped\",\"posterName\":\"bhi\",\"binned\":false,\"userPosted\":true}"

我得到了 id 作为参数,我必须删除整个对象,我该怎么做?我正在使用 lpushasync 添加元素。

请参阅 LREM 文档。

 LREM key count element 

element 参数必须完全匹配,因此不能按 ID 匹配。

您可能要考虑使用 RedisJSON using the JSON.DEL 您应该可以轻松实现您想要的。