Redis的Hash有點像一個對象(object),一個Hash裡面可以存多個Key-Value對作為它的field,是以它通常可以用來表示對象。
Hash裡面能存放的值也能作為String類型來存儲,如果Hash裡面值的類型可以解析為數字,那麼也可以進行自增自減等操作。
HSET,HMSET

HGET,HGETALL,HGETALL
其它指令還有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();
}
}