Redis数据类型Hash

Redis的Hash有点像一个对象(object),一个Hash里面可以存多个Key-Value对作为它的field,所以它通常可以用来表示对象。
Hash里面能存放的值也能作为String类型来存储,如果Hash里面值的类型可以解析为数字,那么也可以进行自增自减等操作。

HSET,HMSET

HGET,HGETALL,HGETALL

其它命令还有HDELHEXISTSHINCRBYFLOATHKEYSHLENHSCANHSETNXHVALS请参照官方文档自行摸索。

C#调用

    class Program
    {
        static void Main(string[] args)
        {
            ConnectionMultiplexer connectionMultiplexer = ConnectionMultiplexer.Connect("120.132.116.153:6379");
            IDatabase database = connectionMultiplexer.GetDatabase(0);
            database.HashSet("hash3", new HashEntry[]
            {
                new HashEntry("a1",11),
                new HashEntry("a2","6666"),
                new HashEntry("a3",DateTime.Now.ToString()),
                new HashEntry("a4",11.44m.ToString()),
            });
            Console.WriteLine($"{database.HashGet("hash3", "a1")}");
            Console.WriteLine($"{database.HashGet("hash3", "a2")}");
            Console.WriteLine($"{database.HashGet("hash3", "a3")}");
            Console.WriteLine($"{database.HashGet("hash3", "a4")}");
            Console.WriteLine("---------------------------------");
            //自增
            database.HashIncrement("hash3", "a1");
            var values = database.HashGet("hash3", new RedisValue[] { "a1", "a2", "a3", "a4" });
            foreach (var item in values)
            {
                Console.WriteLine($"{item}");
            }
            Console.WriteLine("---------------------------------");
            //删除 hash里面的字段
            database.HashDelete("hash3", "a2");
            var list = database.HashScan("hash3");
            foreach (var item in list)
            {
                Console.WriteLine($"{item.Name}:{item.Value}");
            }
            Console.ReadLine();
        }
    }

原文地址:https://www.cnblogs.com/lgxlsm/p/10718134.html