【发布时间】:2023-12-22 10:27:01
【问题描述】:
我正在使用带有 Redis 版本 3.1.6 的 PHP-Redis
$result = $redis->keys('source_1234_[a-zA-Z]*_[0-9]*');
生产
{array} [6]
0 = "source_1234_test_1"
1 = "source_1234_test_2"
2 = "source_1234_test_3"
3 = "source_1234_test_4"
4 = "source_1234_test_5"
5 = "source_1234_test_6"
然而
$iterator = 0;
$result = $redis->scan($iterator, 'source_1234_[a-zA-Z]*_[0-9]*');
返回
FALSE
我正在阅读 KEYS 和 SCAN 的文档,但它只说支持 glob 样式的模式。
所以检查http://www.globtester.com/ 我可以确认该模式是有效的并且应该返回正确的结果。为什么会有差异,为什么 SCAN 在这种情况下返回 FALSE?
【问题讨论】:
-
使用redis-cli检查这些命令的输出,可能与phpredis有关。