gpt4 book ai didi

c# - StackExchange.Redis 发送结构

转载 作者:可可西里 更新时间:2023-11-01 11:16:46 25 4
gpt4 key购买 nike

我是 Redis 的新手,我想知道如何使用 StackExchange.Redis 发送 classstruct .

所以让我们假设我想写

    var redis = ConnectionMultiplexer.Connect("localhost");
var db = redis.GetDatabase();
db.StringSet(key, value);

这实际上只有在我的值是原始值时才有可能。那么有没有其他方法可以在不将复杂类型序列化为json的情况下实现发送复杂类型呢?

最佳答案

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

根据 documentation on data types :

A hash with a few fields (where few means up to one hundred or so) is stored in a way that takes very little space, so you can store millions of objects in a small Redis instance.

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

关于c# - StackExchange.Redis 发送结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46473597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com