如何解决Redis向键名添加无效字符
我们在两个不同的服务器上使用 Redis:
一个有 PHPRedis,使用 IGBINARY 作为序列化器。
PHP 7.2.x
redis
Redis Support => enabled
Redis Version => 3.1.1
Available serializers => PHP,igbinary
另一个是使用 Lumen 和 predis(再次使用 IGBinary)。
PHP 7.3.x
redis
Redis Support => enabled
Redis Version => 5.3.4
Available serializers => PHP,json,igbinary
在第一台服务器上通过 Redis->zRange 检索密钥时,我们得到了正确的信息:
[1287871]=> 浮动 (23) [1299984]=> 浮动(23)
在第二台服务器上,我们得到(实际上在键名前面有奇怪的字符)
[1287871]=> 浮动(23) [1299984]=> 浮动(23)
两者都使用相同的密钥访问,所以我假设的客户端肯定有所不同?我们怎样才能让第二台服务器像第一台一样工作?
解决方法
这是由于在 Lumen 服务器上未将序列化程序设置为 IGBINARY。似乎配置中记录的“序列化程序”参数不起作用
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。