redis 将long类型转换成string存入hash,再获取转换成long,会精度丢失吗,怎么处理,给个示例
时间: 2023-02-12 19:33:23 浏览: 605
SpringBoot全局配置long转String丢失精度问题解决方案
在 Redis 中将 long 类型转换为 string 存入 hash 时,可能会出现精度丢失的情况。解决方法是在存入和取出时使用数字字符串,而不是直接使用 long 类型。
例如,在存入时将 long 转换为字符串:
```
long num = 1234567890;
String numString = Long.toString(num);
redisTemplate.opsForHash().put("hash_name", "field_name", numString);
```
在取出时将字符串转换为 long:
```
Object value = redisTemplate.opsForHash().get("hash_name", "field_name");
long num = Long.parseLong((String)value);
```
总之,从Redis里存取long值时,转成字符串存取,获取时再转成long类型即可避免精度丢失。
阅读全文