使用pipeline执行命令遇到redis.Nil的坑
参考项目
redis数据准备
关键代码及简单的源码说明
特别注意,使用pipeline的Exec方法,一定要判断一下redis.Nil这个错误:
看一下Exec方法的签名:
使用Pileline()方法初始化时:
最后返回了lastErr~~~
使用经验 ******
1、其实如果pipeline中打包的命令是一组SET命令,此时如果发现了有一个SET命令失败,此时Exec方法也会返回错误,这个时候如果我们业务中要求这批命令必须同时执行成功的话就要返回错误了!
2、如果是一组查询的命令,而有些命令即使返回redis.Nil这个错误业务也是允许的,此时就应该过滤掉redis.Nil这个错误!
实际业务中遇到redis.Nil可以不打log ******