|
-
- //
-
-
-
-
-
-
-
-
- namespace SafeCampus.Cache;
-
- /// <summary>
- /// <inheritdoc cref="ISimpleCacheService"/>
- /// 内存缓存
- /// </summary>
- public partial class MemoryCacheService
- {
- /// <inheritdoc/>
- public void HashAdd<T>(string key, string hashKey, T value)
- {
- //获取字典
- var exist = _memoryCache.GetDictionary<T>(key);
- if (exist.ContainsKey(hashKey))//如果包含Key
- exist[hashKey] = value;//重新赋值
- else exist.TryAdd(hashKey, value);//加上新的值
- _memoryCache.Set(key, exist);
- }
-
- //private IDictionary<string,T> GetDictionary(string key,string)
-
- /// <inheritdoc/>
- public bool HashSet<T>(string key, Dictionary<string, T> dic)
- {
- //获取字典
- var exist = _memoryCache.GetDictionary<T>(key);
- dic.ForEach(it =>
- {
- if (exist.ContainsKey(it.Key))//如果包含Key
- exist[it.Key] = it.Value;//重新赋值
- else exist.Add(it.Key, it.Value);//加上新的值
- });
-
- return true;
- }
-
- /// <inheritdoc/>
- public int HashDel<T>(string key, params string[] fields)
- {
- var result = 0;
- //获取字典
- var exist = _memoryCache.GetDictionary<T>(key);
- foreach (var field in fields)
- {
- if (field != null && exist.ContainsKey(field))//如果包含Key
- {
- exist.Remove(field);//删除
- result++;
- }
- }
- return result;
- }
-
- /// <inheritdoc/>
- public List<T> HashGet<T>(string key, params string[] fields)
- {
- var list = new List<T>();
- //获取字典
- var exist = _memoryCache.GetDictionary<T>(key);
- foreach (var field in fields)
- {
- if (exist.TryGetValue(field, out var value))//如果包含Key
- {
- list.Add(value);
- }
- else { list.Add(default); }
- }
- return list;
- }
-
- /// <inheritdoc/>
- public T HashGetOne<T>(string key, string field)
- {
- //获取字典
- var exist = _memoryCache.GetDictionary<T>(key);
-
- exist.TryGetValue(field, out var result);
- var data = result.DeepClone();
- return data;
- }
-
- /// <inheritdoc/>
- public IDictionary<string, T> HashGetAll<T>(string key)
- {
- var data = _memoryCache.GetDictionary<T>(key);
- return data;
- }
- }
|