redis nil err
寻找1922902342900000103-23,但是redis里没有,返回的cacheList里则会:
val=""
baseCmd:
args: 有东西
err: redis nill
val为数组时
多个pipe
多个时,返回的是交替的,长度为len(单pipe时)*N,N为几个pipe
pipe := s.RedisClient.Pipeline() if parentID != 0 { if sortBy == 0 { for _, commentListItem := range commentList { cacheKey := utils.GetArticleSecondLevelCommentPerFirstLevelCommentKey(articleID, utils.IDToSN(commentListItem.Meta.CommentID)) pipe.LRange(cacheKey, int64(offset), int64(offset+limit)).Val() pipe.LLen(cacheKey) } } else { //热度 for _, commentListItem := range commentList { cacheKey := utils.GetArticleSecondLevelCommentPerFirstLevelCommentHotKey(articleID, utils.IDToSN(commentListItem.Meta.CommentID)) pipe.ZRevRange(cacheKey, int64(offset), int64(offset+limit)).Val() pipe.ZCard(cacheKey) } } } else { for _, commentListItem := range commentList { cacheKey := utils.GetArticleSecondLevelCommentPerFirstLevelCommentKey(articleID, utils.IDToSN(commentListItem.Meta.CommentID)) pipe.LRange(cacheKey, 0, 2).Val() pipe.LLen(cacheKey) } } cacheList, _ := pipe.Exec() j := 0 for i, cacheItem := range cacheList { if i % 2 == 0 { commentList[j].SubCommentList, _ = s.GetCommentList(cacheItem.(*redis.StringSliceCmd).Val()) } else { commentList[j].SubCommentCount = int(cacheItem.(*redis.IntCmd).Val()) j ++ } }