AnotherRedisDesktopManager
AnotherRedisDesktopManager copied to clipboard
使用bitfield 读取超过53位数时异常
OS
Windows
VERSION
1.4.8
ISSUE DESCRIPTION
使用关于bitmap命令获取数据出错
- 使用redis-cli 在服务器上连接执行命令
"bitfield" "fileupload:progress:cn_office_professional_plus_2019_x86_x64_dvd_5e5be643.iso" get "u63" "0"返回结果:
- (integer) 9223372036854775807
- 使用AnotherRedisDesktopManager执行同样的命令,却返回
9223372036854778000
bitmap中的数据 offset 0-720 都是1,所以明显使用redis-cli时返回的数据是正确的。经过验证通过AnotherRedisDesktopManager使用命令读取53(包含53)位连续数据之前是正常的,一但多读一位就会异常。
正常的临界命令
"bitfield" "fileupload:progress:cn_office_professional_plus_2019_x86_x64_dvd_5e5be643.iso" get "u53" "0"
异常命令:
"bitfield" "fileupload:progress:cn_office_professional_plus_2019_x86_x64_dvd_5e5be643.iso" get "u54" "0"
返回结果:
1000000000000000000000000000000000000000000000000000000
js bigint的异常,参考https://github.com/luin/ioredis/issues/1187 ,尝试中
遗留问题,早已解决