首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >StackExchange.Redis发送结构

StackExchange.Redis发送结构
EN

Stack Overflow用户
提问于 2017-09-28 16:00:03
回答 1查看 583关注 0票数 0

我对redis还不熟悉,我想知道如何发送带有classstructStackExchange.Redis

所以我们假设我想写

代码语言:javascript
复制
    var redis = ConnectionMultiplexer.Connect("localhost");
    var db = redis.GetDatabase();
    db.StringSet(key, value);

这实际上是可能的,只有当我的价值是原始的。那么,在不将复杂类型序列化为json的情况下,还有其他方法来实现发送复杂类型吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-28 16:06:37

由于Redis不知道您的classstruct,所以您需要定义如何存储它。推荐的方法是将对象存储为散列,其中键是属性名,值是属性值。请注意,这不支持对象图,例如嵌套集合或复杂类型。

根据关于数据类型的文档

一个包含几个字段的散列(其中很少的字段意味着上百个左右)以占用很少空间的方式存储,因此您可以在一个小Redis实例中存储数百万个对象。

或者,您可以自己序列化对象并将其存储为string/byte[]。Json是一种格式,它包括数据中的属性名称,这对于版本控制非常有用。例如,如果添加了一个新属性,则不需要更改所有现有数据。缺点是它占用了很大的空间。您也可以使用任何其他形式的序列化,例如二进制序列化

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46473597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档