我需要获取数据库中所有流(键)的列表,但找不到该命令。
我已经尝试遍历所有键并检查它们的类型,但这太慢/太昂贵了。
我想做类似XSCAN
的事情,并得到像["stream1", "stream2"]
答案 0 :(得分:2)
没有这样的命令。与无法获取其他数据结构的列表相同,例如列表,设置。
相反,您可以创建一个额外的SET来记录创建的流的键。这样您就可以扫描SET以获得流的列表。
答案 1 :(得分:1)
答案 2 :(得分:0)
如果流名称中可以有前缀,例如:“ MyStream:1”,“ MyStream:2” 然后,您可以将常规扫描命令与匹配MyStream的模式一起使用:*
编辑: 为了解决有关OP的问题,不必使用前缀并按原样使用SCAN命令,请在注释中添加:
您可以通过使用redis提供的命名空间功能来避免使用前缀。您可以为流名称分配一个“数据库”(默认为0-15)。假设您将数据库5用于流,那么数据库5中的scan命令应仅返回其中的键。 redis.io/commands/select