目前我已经创建了一个带有Redis缓存的NestJS应用程序。我希望能够从Redis缓存中获取多个键,方法是使用一种模式,在这种模式下,我可以获取包含某个字符串的所有键。
目前我使用 cache-manager 和 cache-manager-redis-store 作为我的客户端来连接和访问我的Redis缓存。我已经阅读了文档来尝试使用.mget()函数,但是我不知道我是否可以通过某种方式传递一个字符串,并获得包含该字符串的所有键。
我想我可能不得不去一个不同的Redis客户端,但只是想看看是否有人有任何其他的想法。
2条答案
按热度按时间huwehgph1#
有两种方法可以实现这一点
1.保留一组你想检索的密钥并执行SMEMBERS操作。2但是,你必须手动维护这组密钥并添加和删除。
yws3nbqq2#
在
cache-manager
中有一个名为store
的属性,可以通过调用keys()
方法从该属性中获取所有密钥。这是一个redisService示例
然后,您可以使用此服务获取多个键或多个键的值
await this.redisService.getKeys('*' + email + '*');
也可以获取多个键值
await this.redisService.getMultipleKeydata('*' + email + '*');