先创建一个CacheHelper.cs类,代码如下:
using System; using System.Web; using System.Collections; using System.Web.Caching; public class CacheHelper { /// <summary> /// 获取数据缓存 /// </summary> /// <param name="cacheKey">键</param> public static object GetCache(string cacheKey) { var objCache = HttpRuntime.Cache.Get(cacheKey); return objCache; } /// <summary> /// 设置数据缓存 /// </summary> public static void SetCache(string cacheKey, object objObject) { var objCache = HttpRuntime.Cache; objCache.Insert(cacheKey, objObject); } /// <summary> /// 设置数据缓存 /// </summary> public static void SetCache(string cacheKey, object objObject, int timeout = 7200) { try { if (objObject == null) return; var objCache = HttpRuntime.Cache; //相对过期 //objCache.Insert(cacheKey, objObject, null, DateTime.MaxValue, timeout, CacheItemPriority.NotRemovable, null); //绝对过期时间 objCache.Insert(cacheKey, objObject, null, DateTime.Now.AddSeconds(timeout), TimeSpan.Zero, CacheItemPriority.High, null); } catch (Exception) { //throw; } } /// <summary> /// 移除指定数据缓存 /// </summary> public static void RemoveAllCache(string cacheKey) { var cache = HttpRuntime.Cache; cache.Remove(cacheKey); } /// <summary> /// 移除全部缓存 /// </summary> public static void RemoveAllCache() { var cache = HttpRuntime.Cache; var cacheEnum = cache.GetEnumerator(); while (cacheEnum.MoveNext()) { cache.Remove(cacheEnum.Key.ToString()); } } }
然后是调用:
public IEnumerable<CompanyModel> FindCompanys() { var cache = CacheHelper.GetCache("commonData_Company");//先读取 if (cache == null)//如果没有该缓存 { var queryCompany = _base.CompanyModel();//从数据库取出 var enumerable = queryCompany.ToList(); CacheHelper.SetCache("commonData_Company", enumerable);//添加缓存 return enumerable; } var result = (List<CompanyModel>)cache;//有就直接返回该缓存 return result; }
测试结果:
首次加载进来是为null,然后读取数据库,添加进缓存,当前返回前台的是从数据库中取出的数据。
刷新页面,发现缓存中已经有了读出的30条数据,
然后接下来走,返回缓存中的数据:
以上就是C# Cache缓存读取的设置方法的详细内容,更多关于C# Cache缓存读取的资料请关注小牛知识库其它相关文章!
swoole框架目前支持5种Cache适配器,可以配置apps/configs/cache.php的type来设定不同类型的Cache Memcache 使用memcache缓存数据,配置示例: $cache['master'] = array( 'type' => 'Memcache', 'use_memcached' => true, //使用memcached扩展 '
1、使用 Ehcache 缓存 ActiveRecord 可以使用缓存以大大提高性能,默认的缓存实现是 ehcache,使用时需要引入 ehcache 的 jar 包及其配置文件,以下代码是Cache使用示例: public void list() { List<Blog> blogList = Blog.dao.findByCache("cacheName", "key", "selec
set 设置普通类型的值 设置 set set(key: string, value: string expiryMode: string[ EX 秒 PX 分钟 ], time: number ) key: 键名称 value:存储的值 expiryMode:添加过期时间类型 EX 秒 PX 分钟 time:过期时间 // 存储一个key为gender,value 为 男人的数据,10秒后过期
You can do more elaborate grouping by setting up cache_id groups. This is accomplished by separating each sub-group with a vertical bar "|" in the cache_id value. You can have as many sub-groups as yo
在本章中,我们将研究Joomla Cache Manager 。 您可以安装缓存控制器插件,这有助于提高Joomla的性能。 您还可以关闭特定页面和组件上的缓存。 Joomla缓存管理 以下是用于设置Joomla缓存管理器的简单步骤 - Step (1) - 单击Joomla Global Configuration Cache Management 。 您将看到如下所示的屏幕。 以下是Jooml
来源 Hutool-cache模块最早受到jodd-cache的启发(如今大部分逻辑依旧与jodd保持一致),此模块提供一种缓存的简单实现方案,在小型项目中对于简单的缓存需求非常好用。 介绍 Hutoo-cache模块提供了几种缓存策略实现: FIFOCache FIFO(first in first out) 先进先出策略。元素不停的加入缓存直到缓存满为止,当缓存满时,清理过期缓存对象,清理后依