首页 新闻 会员 周边 捐助

关于分页数据做memcache缓存问题

0
悬赏园豆:20 [已关闭问题] 关闭于 2015-11-12 14:31

今天做到关于分页数据做缓存的问题。因为又要缓存分页数据,又要缓存内容总数,所以脑子有点乱。

下面是我研究了以后的BLL里面的代码,不知道方法可行不可行。

#region 获取分页数据 GetPageList(int pageIndex, int pageSize, out int rowCount)
        /// <summary>
        /// 获取分页数据
        /// </summary>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <param name="rowCount"></param>
        /// <returns></returns>
        public List<ContentModel> GetPageList(int pageIndex, int pageSize, out int rowCount)
        {
        //缓存key,用以区分每一页的数据
string key = KeysModel.cache_content_getpagelist_prefix + "pageIndex_" + pageIndex + "_pageSize_" + pageSize;
        //这个为内容数量的缓存key
string countkey = KeysModel.cache_content_count_prefix + "totalCount"; List<ContentModel> list = new List<ContentModel>(); if(CacheHelper.Get(key)!=null) {
          //缓存中不为空就从缓存中获取 list
= CacheHelper.Get(key) as List<ContentModel>; rowCount = Convert.ToInt32(CacheHelper.Get(countkey)); } else {
          //缓存中没有就从数据库获取,并且存入缓存。
int count; list = dal.GetPageList(pageIndex, pageSize, out count); rowCount = count; CacheHelper.Set(key, list, DateTime.Now.AddHours(3)); CacheHelper.Set(countkey, count, DateTime.Now.AddHours(3)); } return list; } #endregion

 

各位大神有没有更好的方法?

DZCMS的主页 DZCMS | 初学一级 | 园豆:5
提问于:2015-11-09 21:21
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册