使用 redigo 的时候,一开始总是在疑惑如何判断没有获取到值得情况。
实际它的判断比较简单,一种情况是直接调用 Do
的情况,此时没有获取到值不会返回 err,而是 reply 为 nil:
相当于与redis命令执行一样的。
另一种是通过库里提供的方法进行转换,此时会返回错误,比如转为 string :
redis.String 实现:
此时如果返回nil结果,转换后会报错,返回 redis.ErrNil 错误。
使用 redigo 的时候,一开始总是在疑惑如何判断没有获取到值得情况。
实际它的判断比较简单,一种情况是直接调用 Do
的情况,此时没有获取到值不会返回 err,而是 reply 为 nil:
相当于与redis命令执行一样的。
另一种是通过库里提供的方法进行转换,此时会返回错误,比如转为 string :
redis.String 实现:
此时如果返回nil结果,转换后会报错,返回 redis.ErrNil 错误。