CYQ.Data 数据层框架

CYQ.Data 是一款由路过秋天创作的支持多数据库应用[Txt,Xml,Access,MSSQL,Oracle,SQLite,MySql]的底层数据库操作类库,使用本类库可以轻松快速开发项目(QQ群:6033006)。

CYQ.Data 数据框架 缓存使用帮助

快速使用帮助 | | | 发表日期 :2011/4/21 20:53:59#楼主  

本节介绍CYQ.Data.Cache,缓存的相关使用方法:

一:缓存操作

1:缓存对象定义:

public CYQ.Data.Cache.CacheManage cache=CYQ.Data.Cache.CacheManage.Instance;

2:缓存添加

方法原型:

public void Add(string key, object value)

public void Add(string key, object value, string filePath)

public void Add(string key, object value, string filePath, double cacheTimeMinutes)

示例:

cache.Add("newObj",new UserInfo());//缓存一个实体类

cache.Add("htmlObj",document,Server.MapPath("a.html"));//缓存html,并设置文件依赖

cache.Add("userObj",UserInfo,null,5);//缓存用户信息,5分钟。

3:缓存获取

方法原型:public object Get(string key)

示例:

UserInfo info=cache.Get("newObj") as UserInfo;

4:缓存更新

方法原型:

public void Update(string key, object value)

public void Set(string key, object value)

示例:

cache.Update("newObj",new UserInfo());//如果存在缓存项,则更新对象

cache.Set("newObj",new UserInfo());//如果存在缓存项,则更新对象,不存在,则添加

5:缓存删除

方法原型:

public void Remove(string key)

public void Clear()

示例:

cache.Remove("newObj");//删除缓存的实体类项

cache.Clear()清除所有缓存项

6:自定义缓存标识

方法原型:

public void SetChange(string key,bool change)

public bool GetHasChanged(string key)

示例

cache.SetChange("newObj",true);//标识一个缓存项被更改过。

bool  beChanged=cache.GetHasChanged("newObj");获取到标识被更改过。

作用示例:

比如在某文章中,该文章被缓存,用户编辑了一下,此时可设置标识位,该缓存被修改过,但不调整页面缓存。等页面有用户浏览时,根据标识再进行处理。

二:缓存管理(V5.0以上功能)

1:获取所有缓存信息:

Dictionary<string, CacheDependencyInfo> infoList = cache.CacheInfo;

2:打印缓存信息示例:

        private string row = "<tr><td>{0}</td><td>{1}</td><td>{2}</td><td>{3}</td><td>{4}</td><td style='text-align: left;'>{5}</td></tr>";
        private new CacheManage Cache = CacheManage.Instance;
        protected void Page_Load(object sender, EventArgs e)
        {
           Response.Write("<head><style>table{border: solid;border:1px;}th{text-align: center; }td{text-align: center; }</style></head>");
            Response.Write(string.Format("Cache Count:{0}--InfoCount:{1}--缓存上限百分比:{2}%--缓存上限:{3}MB<br />其它信息:{4}<hr />", Cache.Count, Cache.CacheInfo.Count, Cache.RemainMemoryPercentage, Cache.RemainMemoryBytes / 1024 / 1024, Cache.WorkInfo));
            Response.Write("<table><tr><th>缓存开始时间</th><th>缓存分钟数</th><th>调用次数</th><th>依赖改变</th><th>过期</th><th>缓存Key</th></tr>");
            Dictionary<string, CacheDependencyInfo> infoList = Cache.CacheInfo;
            foreach (KeyValuePair<string, CacheDependencyInfo> item in infoList)
            {
                Response.Write(string.Format(row, item.Value.CreaeTime, item.Value.CacheMinutes, item.Value.CallCount, item.Value.IsChanged, item.Value.CreaeTime.AddMinutes(item.Value.CacheMinutes) < DateTime.Now, item.Key));
            }
            Response.Write("<table>");
        }

打印缓存效果:

 



新浪微博粉丝精灵,刷粉丝、刷评论、刷转发、企业商家微博营销必备工具"

发表评论

论坛公告

    数据框架 CYQ.Data QQ群:6033006
    使用本框架进行开发,入门简单,开发效率高,性能优越,更有详尽的API文档,有相关的使用帮助文章、示例文章、更甚有相关的视频教程及辅助工具。 关键还是免费与开源,实在是居家旅行、项目开发、学习研究的必备良品!!!!!!


    在线帮助:欢迎联系

帖子搜索