/// <summary> /// 分页获取数据 /// </summary> /// <typeparam name="T">类型</typeparam> /// <param name="key">key</param> /// <param name="pageIndex">起始页</param> /// <param name="pageSize">页记录数</param> /// <param name="recordCount">返回记录总数</param> /// <returns>返回对象列表</returns> public static IList <T> GetDataList <T>(string key, int pageIndex, int pageSize, out int recordCount) { recordCount = 0; //返回记录数 //非法输入检查 if (string.IsNullOrWhiteSpace(key)) { return(null); } int fromIndex = pageIndex - 1; //redis的index是从0开始的 int toIndex = pageSize - 1; RedisKey rk = key.RedisProtobuf(); recordCount = rk.LstCount(); if (fromIndex > 0) { fromIndex = (fromIndex * toIndex) + (pageIndex - 1); toIndex = fromIndex + toIndex; } if (fromIndex < 0) { fromIndex = 0; } IList <T> userlist = GetDataListByRange <T>(key, fromIndex, toIndex); return(userlist); }