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(); } }