| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 | 
							- using OASystem.RedisRepository.CommonHelper;
 
- using StackExchange.Redis;
 
- using System;
 
- using System.Collections.Generic;
 
- using System.Linq;
 
- using System.Text;
 
- using System.Threading.Tasks;
 
- namespace OASystem.RedisRepository.RedisAsyncHelper
 
- {
 
-     /// <summary>
 
-     ///  Redis异步操作类  Hash部分类
 
-     /// </summary>
 
-     internal partial class RedisHelper //: IRedisHelper
 
-     {
 
-         #region Hash 写操作
 
-         public async Task<bool> HashSetAsync<T>(string key, string field, T value)
 
-         {
 
-             return await _client.HashSetAsync(key, field, SerializeHelper.Serialize(value));
 
-         }
 
-         public async Task HashMultiSetAsync<T>(string key, Dictionary<string, T> hashFields)
 
-         {
 
-             List<HashEntry> entries = new List<HashEntry>();
 
-             hashFields.ToList().ForEach(d => entries.Add(new HashEntry(d.Key, SerializeHelper.Serialize(d.Value))));
 
-             await _client.HashSetAsync(key, entries.ToArray());
 
-         }
 
-         public async Task<long> HashIncrementAsync(string key, string field, long incrCount = 1)
 
-         {
 
-             return await _client.HashIncrementAsync(key, field, incrCount);
 
-         }
 
-         public async Task<long> HashDecrementAsync(string key, string field, long decrCount = 1)
 
-         {
 
-             return await _client.HashDecrementAsync(key, field, decrCount);
 
-         }
 
-         public async Task<bool> HashDeleteFieldAsync(string key, string field)
 
-         {
 
-             return await _client.HashDeleteAsync(key, field);
 
-         }
 
-         public async Task<long> HashMultiDeleteFieldAsync(string key, List<string> fields)
 
-         {
 
-             List<RedisValue> values = new List<RedisValue>();
 
-             fields.ForEach(f => values.Add(f));
 
-             return await _client.HashDeleteAsync(key, values.ToArray());
 
-         }
 
-         #endregion
 
-         #region Hash 读操作
 
-         /// <summary>
 
-         /// Redis 指定hash类型key中field是否存在
 
-         /// </summary>
 
-         /// <param name="key"></param>
 
-         /// <param name="field"></param>
 
-         /// <returns></returns>
 
-         public async Task<bool> HashFieldExistAsync(string key, string field)
 
-         {
 
-             return await _client.HashExistsAsync(key, field, CommandFlags.PreferSlave);
 
-         }
 
-         public async Task<List<string>> HashFieldsAsync(string key)
 
-         {
 
-             RedisValue[] values = await _client.HashKeysAsync(key, CommandFlags.PreferSlave);
 
-             return RedisInnerTypeHelper.RedisValuesToGenericList<string>(values);
 
-         }
 
-         public async Task<List<T>> HashValuesAsync<T>(string key)
 
-         {
 
-             var values = await _client.HashValuesAsync(key, CommandFlags.PreferSlave);
 
-             return RedisInnerTypeHelper.RedisValuesToGenericList<T>(values);
 
-         }
 
-         public async Task<T> HashGetAsync<T>(string key, string field)
 
-         {
 
-             return SerializeHelper.Deserialize<T>(await _client.HashGetAsync(key, field, CommandFlags.PreferSlave));
 
-         }
 
-         public async Task<Dictionary<string, T>> HashGetAllAsync<T>(string key)
 
-         {
 
-             HashEntry[] entries = await _client.HashGetAllAsync(key, CommandFlags.PreferSlave);
 
-             Dictionary<string, T> dic = new Dictionary<string, T>();
 
-             entries.ToList().ForEach(e => dic.Add(e.Name, SerializeHelper.Deserialize<T>(e.Value)));
 
-             return dic;
 
-         }
 
-         #endregion
 
-     }
 
- }
 
 
  |