src/Library/NetPro.StackExchange.Redis/StackExchange.Redis.Extensions.Core/Implementations/RedisDatabase.Hash.cs

(开头部分) 9KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using StackExchange.Redis;
using StackExchange.Redis.Extensions.Core.Abstractions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace StackExchange.Redis.Extensions.Core.Implementations
{
    public partial class RedisDatabase : IRedisDatabase
    {
        public Task<bool> HashDeleteAsync(string key, string hashField, CommandFlags commandFlags = CommandFlags.None)
        {
            return Database.HashDeleteAsync(key, hashField, commandFlags);
        }

        /// <summary>
        ///  获取在哈希表中指定 key 的所有字段和值
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="key"></param>
        /// <returns></returns>
        public async Task<Dictionary<string, T>> HashGetAllAsync<T>(string key)
        {
            var dic = new Dictionary<string, T>();
            var result = await Database.HashGetAllAsync(key);
            foreach (var item in result)
            {
                dic.Add(item.Name, Serializer.Deserialize<T>(item.Value));
            }

            return dic;
        }

        /// <summary>
        ///  获取在哈希表中指定 key 的所有字段和值
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="key"></param>
        /// <returns></returns>
        public Dictionary<string, T> HashGetAll<T>(string key)
        {
            var dic = new Dictionary<string, T>();
            var result = Database.HashGetAll(key);
            foreach (var item in result)
            {
                dic.Add(item.Name, Serializer.Deserialize<T>(item.Value));
            }

            return dic;
        }

        public bool HashDelete(string key, string hashField, CommandFlags commandFlags = CommandFlags.None)
        {
            return Database.HashDelete(key, hashField, commandFlags);
        }

        public Task<long> HashDeleteAsync(string hashKey, IEnumerable<string> keys, CommandFlags commandFlags = CommandFlags.None)
        {
            return Database.HashDeleteAsync(hashKey, keys.Select(x => (RedisValue)x).ToArray(), commandFlags);
后面还有 163 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。