天天看點

Redis資料類型Hash

Redis的Hash有點像一個對象(object),一個Hash裡面可以存多個Key-Value對作為它的field,是以它通常可以用來表示對象。

Hash裡面能存放的值也能作為String類型來存儲,如果Hash裡面值的類型可以解析為數字,那麼也可以進行自增自減等操作。

HSET,HMSET

Redis資料類型Hash

HGET,HGETALL,HGETALL

Redis資料類型Hash

其它指令還有HDEL,HEXISTS,HINCRBYFLOAT,HKEYS,HLEN,HSCAN,HSETNX,HVALS請參照官方文檔自行摸索。

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();
        }
    }      
Redis資料類型Hash