99
This commit is contained in:
174
Reportapi/MyCode.Project.Infrastructure/Cache/SystemCache.cs
Normal file
174
Reportapi/MyCode.Project.Infrastructure/Cache/SystemCache.cs
Normal file
@@ -0,0 +1,174 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Web;
|
||||
using System.Web.Caching;
|
||||
using System.Collections;
|
||||
|
||||
|
||||
namespace MyCode.Project.Infrastructure.Cache
|
||||
{
|
||||
public class SystemCache:IMyCodeCacheService
|
||||
{
|
||||
private static System.Web.Caching.Cache cache;
|
||||
|
||||
public SystemCache() {
|
||||
if (cache == null)
|
||||
{
|
||||
cache = HttpRuntime.Cache;
|
||||
}
|
||||
}
|
||||
|
||||
#region Set(设置绝对过期时间)
|
||||
public void Set(string key, object cache_object, TimeSpan? cacheTime = null) {
|
||||
|
||||
if (cacheTime == null || cacheTime.Value == TimeSpan.Zero) { cacheTime = new TimeSpan(0, 0, 30); }
|
||||
|
||||
//相对时间过期
|
||||
//cache.Insert(key,cache_object,null, System.Web.Caching.Cache.NoAbsoluteExpiration,expiration,priority,null);
|
||||
//绝对时间过期
|
||||
//cache.Insert(key, cache_object, null,DateTime.Now.addti,expiration, System.Web.Caching.Cache.NoSlidingExpiration);
|
||||
//var second = expiration.TotalSeconds;
|
||||
if (cache_object == null) { return; }
|
||||
|
||||
cache.Insert(key, cache_object, null, DateTime.Now.AddSeconds(cacheTime.Value.TotalSeconds), System.Web.Caching.Cache.NoSlidingExpiration);
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Get(根据key得到缓存值)
|
||||
public object Get(string key) {
|
||||
return cache.Get(key);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Get(获取一个具体的对象)
|
||||
public T Get<T>(string key)
|
||||
{
|
||||
var obj = Get(key);
|
||||
|
||||
return (T)obj;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Delete(按Key删除)
|
||||
public void Delete(string key) {
|
||||
if (Exists(key)) {
|
||||
cache.Remove(key);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Exists(判断缓存是否存在)
|
||||
public bool Exists(string key)
|
||||
{
|
||||
if (cache[key] != null)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region GetCacheKeys(取得缓存所有Key)
|
||||
public List<string> GetCacheKeys()
|
||||
{
|
||||
List<string> keys = new List<string>();
|
||||
IDictionaryEnumerator ca = cache.GetEnumerator();
|
||||
while (ca.MoveNext())
|
||||
{
|
||||
keys.Add(ca.Key.ToString());
|
||||
}
|
||||
return keys;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Push(放入队列)
|
||||
/// <summary>
|
||||
/// 放入队列
|
||||
/// </summary>
|
||||
/// <param name="key"></param>
|
||||
/// <param name="data"></param>
|
||||
public void Push(string key, object data)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region ListLen(返回列表长度)
|
||||
/// <summary>
|
||||
/// 返回列表长度
|
||||
/// </summary>
|
||||
/// <param name="key"></param>
|
||||
/// <returns></returns>
|
||||
public long ListLen(string key)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Popup(获取第一条数据,并删除)
|
||||
/// <summary>
|
||||
/// Popup(获取第一条数据,并删除)
|
||||
/// </summary>
|
||||
/// <param name="key"></param>
|
||||
/// <returns></returns>
|
||||
public object Popup(string key)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region GetNewId(得到新的id)
|
||||
/// <summary>
|
||||
/// 得到新的id
|
||||
/// </summary>
|
||||
/// <param name="key"></param>
|
||||
/// <returns></returns>
|
||||
public long GetNewId()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Incr(自增1,返回自增后的值)
|
||||
/// <summary>
|
||||
/// 自增1,返回自增后的值
|
||||
/// </summary>
|
||||
/// <param name="key"></param>
|
||||
/// <returns></returns>
|
||||
public long Incr(string key,long value = 1)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region SetIncr(初始化原子性的功能)
|
||||
/// <summary>
|
||||
/// 初始化原子性的功能
|
||||
/// </summary>
|
||||
/// <param name="key"></param>
|
||||
/// <param name="data"></param>
|
||||
public void SetIncr(string key, long data)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region GetIncr(得到Incr值)
|
||||
/// <summary>
|
||||
/// 得到Incr值
|
||||
/// </summary>
|
||||
/// <param name="key"></param>
|
||||
/// <returns></returns>
|
||||
public object GetIncr(string key)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user