用nuget引入StackExchange.Redis
类库
新增操作
HashEntry hash1 = new HashEntry("foo1","bar1");
HashEntry hash2 = new HashEntry("foo2", "bar2");
HashEntry hash3 = new HashEntry("foo3", "bar3");
HashEntry[] hash = new HashEntry[] { hash1,hash2,hash3 };
db.HashSet("key7",hash);
结果如下:
HashEntry hash1 = new HashEntry("foo1","barZz");
对同个键插入新值会替换原来的值
读取操作
已知Redis 存在哈希表key6,内容如下:
RedisValue[] key5fofo= db.HashValues("key6");//查询键下所有值,不包含filed
RedisValue[] key5bar = db.HashGet("key6",new RedisValue[] { "name","Sex","Age" }); //根据提供仅有的字段名查找对应值
RedisValue[] key5barbar = db.HashGet("key6", new RedisValue[] { "Name", "Sex", "Age" });
//查找的条件字段大小写敏感,由于key6存的是name而不是Name,所以实际查询结果被空的RedisValue取代
HashEntry[] key5foo = db.HashGetAll("key6");
//返回的结果类型HashEntry,同时含有字段和值,即查询所有字段和值,不需要像HashGet提供查询字段
HashEntry[] key5foofoo = db.HashGetAll("key7");
//获取不存在key时返回长度为0的HashEntry,无法从中读取到值
查找键
var keys= db.HashKeys("key7");