gpt4 book ai didi

c# - Redis 中的键值对列表

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

是否可以在 Redis 中包含键/值对列表?或者可能是一组键值对。

我想要的是具有如下计数器的日期时间戳列表:

1.1.12 -> 12
1.2.12 -> 1
1.3.12 -> 3

我希望能够按如下方式使用获取范围:

获取范围 1.1.12 到 1.2.12,我希望结果为 13。

这可能吗?

我应该使用哪些结构?

这样做的正确方法是什么?

假设我想将时间戳作为一个集合,每个时间戳将指向 3-4 个键值对,如下所示:

1.1.12 -> error : 1
pass : 100
1.2.12 -> error : 3
pass : 50
1.3.12 -> error : 12
pass : 100

c#客户端支持吗?

我的主要目标是能够存储这个多值结构并能够查询。

最佳答案

我的建议是将日期/时间字符串转换为类似“纪元以来的秒数”(但如果您需要比 1970 年到 2038 年更大的范围,则可能使用 64 位值——并且可能使用不同的起始值再点,根据你的应用要求)。

从那里我会使用 zset(“排序”或“评分”集,支持使用 ZRANGE 和 ZRANGEBY Redis 操作/命令获取子集)。 seconds-since-your-epoch 可以是分数,你的值可以是你喜欢的任何类型的编码值(包括 JSON 或 BSON 编码的字典/哈希表)。或者它可以是一个简单的字符串,您可以将其用作 Redis 键(从而实现一层间接 --- zset 充当 Redis 键的索引)。如果您选择后一种方法,我建议您使用 Redis 存储的整数来为您的键提供唯一的序列 ID——这样在创建这些间接键/值的并发进程/节点的可能面中将具有 ACID 属性对)。

关于c# - Redis 中的键值对列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8796295/

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