/// /// 获取Hash中的单个key的值 /// /// /// Redis Key /// RedisValue /// public static T GetHashKey(string key, string hasFildValue) { if (!string.IsNullOrWhiteSpace(key) && !string.IsNullOrWhiteSpace(hasFildValue)) { RedisValue value = db.HashGet(key, hasFildValue); if (!value.IsNullOrEmpty) { return JsonConvert.DeserializeObject(value); } } return default(T); }
/// /// 获取hash中的多个key的值 /// /// /// Redis Key /// RedisValue value /// public static List GetHashKey(string key, List listhashFields) { List result = new List(); if (!string.IsNullOrWhiteSpace(key) && listhashFields.Count > 0) { RedisValue[] value = db.HashGet(key, listhashFields.ToArray()); foreach (var item in value) { if (!item.IsNullOrEmpty) { result.Add(JsonConvert.DeserializeObject(item)); } } } return result; }
/// /// 获取hashkey所有Redis key /// /// /// /// public static List GetHashAll(string key) { List result = new List(); RedisValue[] arr = db.HashKeys(key); foreach (var item in arr) { if (!item.IsNullOrEmpty) { result.Add(JsonConvert.DeserializeObject(item)); } } return result; }
/// /// 获取hashkey所有的值 /// /// /// /// public static List HashGetAll(string key) { List result = new List(); HashEntry[] arr = db.HashGetAll(key); foreach (var item in arr) { if (!item.Value.IsNullOrEmpty) { result.Add(JsonConvert.DeserializeObject(item.Value)); } } return result; }
/// /// 移除指定ListId的内部List的值 /// /// /// public void ListRemove(string key, T value) { db.ListRemove(key, JsonConvert.SerializeObject(value)); }
/// /// 获取指定key的List /// /// /// public List ListRange(string key) { var values = db.ListRange(key); List result = new List(); foreach (var item in values) { var model = JsonConvert.DeserializeObject(item); result.Add(model); } return result; }
/// /// 入队 /// /// /// public void ListRightPush(string key, T value) { db.ListRightPush(key, JsonConvert.SerializeObject(value)); }
/// /// 出队 /// /// /// /// public T ListRightPop(string key) { var value = db.ListRightPop(key); return JsonConvert.DeserializeObject(value); }
/// /// 获取集合中的数量 /// /// /// public long ListLength(string key) { return db.ListLength(key); }
#endregion 同步方法
#region List 异步
/// /// 移除指定ListId的内部List的值 /// /// /// public async Task ListRemoveAsync(string key, T value) { return await db.ListRemoveAsync(key, JsonConvert.SerializeObject(value)); }
/// /// 获取指定key的List /// /// /// public async Task<List> ListRangeAsync(string key) { var values =await db.ListRangeAsync(key); List result = new List(); foreach (var item in values) { var model = JsonConvert.DeserializeObject(item); result.Add(model); } return result; }
/// /// 入队 /// /// /// public async Task ListRightPushAsync(string key, T value) { return await db.ListRightPushAsync(key, JsonConvert.SerializeObject(value)); }
/// /// 出队 /// /// /// /// public async Task ListRightPopAsync(string key) { var value = await db.ListRightPopAsync(key); return JsonConvert.DeserializeObject(value); }
/// /// 删除 /// /// /// public static async Task SortedSetRemoveAsync(string key, T value) { return await db.SortedSetRemoveAsync(key, JsonConvert.SerializeObject(value)); }
/// /// 获取全部 /// /// /// public static async Task<List> SortedSetRangeByRankAsync(string key) { var values = await db.SortedSetRangeByRankAsync(key); List result = new List(); foreach (var item in values) { var model = JsonConvert.DeserializeObject(item); result.Add(model); } return result; }