Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
Description
Currently native redis appears to be able to apply INCRBYFLOAT on values that are below the max of unsigned long long (18446744073709551615). However, since we're treating numbers as {{double}}s we can lose precision for very large values. For example:
set val 18446744073709551614 incrbyfloat val 1
incorrectly returns 18446744073709552000
Native redis produces a correct result.
We should consider switching to using BigInteger for all commands which perform calculations: INCR, INCR, INCRBYFLOAT, HINCRBY, HINCRBYFLOAT.
Attachments
Issue Links
- links to