为什么redis中incr一个“0” 会报错?

clipboard.png

问下 弄过redis的人 为什么incr命令会报错。。“0”可以转换为 0 呀。

redis 版本是windows 3.2.100 稳定版

阅读 4.6k
3 个回答

我这边也是正常的

127.0.0.1:6379> set test "0"
OK
127.0.0.1:6379> INCR test
(integer) 1
127.0.0.1:6379> INCR test
(integer) 2
127.0.0.1:6379> INCR test
(integer) 3
127.0.0.1:6379> get test
"3"
127.0.0.1:6379> type test
string

版本是redis-3.2.4

incr

# 情况3:key不是数字值

redis> SET book "long long ago..."
OK

redis> INCRBY book 200
(error) ERR value is not an integer or out of range

不知道你的版本是多少,我版本redis_version:2.4.10 测试没问题的,在线测试链接

ServiceStack.Redis 客户端 的确是为string类型的值省略了“”。如果额外加上“” 反而弄巧成拙了! 另外多谢
@苏生不惑 @mylxsw

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进