栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何设置(覆盖)哈希中的所有项目

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何设置(覆盖)哈希中的所有项目

您在这里有几个选择。

1) 您可以通过使用高级Redis API让ServiceStack为您解决此问题。

public class Poco{    public int Id { get; set; }    public string Name { get; set; }    public string Description { get; set; }}...// Clientvar client = new RedisClient("localhost", 6379);// This will store the object for you in a Redis hash.client.StoreAsHash(new Poco { Id = 1, Name = "Test Name", Description = "Test Description" });// This will fetch it back for you.var result = client.GetFromHash<Poco>(1);

这种方法将使您不必直接处理散列细节。ServiceStack会为您解决所有问题,并将您发送的对象自动填充到哈希中。如果要更新该对象,只需向其发送一个具有相同ID的新对象即可。

不利的一面是,您将放弃对如何将数据存储在Redis中的控制,从而获得更轻松的编程体验。

2) 您自己处理所有东西。没有预先构建的 SetAllEntriesToHash 函数。

// Clientvar client = new RedisClient("localhost", 6379);// Clear all existing keysvar keysToClear =  new Dictionary<string,string>();client.GetHashKeys("xxxxx").ForEach(k => keysToClear.Add(k, ""));client.SetRangeInHash("xxxxx", keysToClear);// Save new key/values.  client.SetRangeInHash("xxxxx", new List<KeyValuePair<string, string>>{    new KeyValuePair<string, string>("1", "value 1"),    new KeyValuePair<string, string>("2", "value 2"),    new KeyValuePair<string, string>("3", "value 3"),});

或者,仅删除并重新创建哈希值可能会更容易。

我还要提醒您注意 RedisNativeClient
。它允许您运行直接映射到http://redis.io/commands的 Redis命令。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/372267.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号