【发布时间】:2015-04-26 18:14:36
【问题描述】:
我已经搜索了文档,但没有找到放入 redis 数据库(如果有的话)来跟踪 IRedisTypedClient 的“GetNextSequence”的内容。这是因为我开始看到我自己的钥匙以外的其他钥匙。我不确定我是否做错了什么来获取这些额外的密钥,或者它是否是 ServiceStack 跟踪某些值的方式。如果是,我想知道它何时执行此操作,以便我知道显示的所有“面包屑”是什么。
这是我的简化示例:
private IRedisTypedClient<BucketInfo> redisBucket;
redisBucket = Redis.As<BucketInfo>();
var newBucketInfo = new BucketInfo {
DB = redisBucket.GetNextSequence (),
policy = bucketPolicy,
};
当它执行 GetNextSequence 时,它会在我自己进行任何存储之前将 seq:BucketInfo 放入 redis 数据库。这和预期的一样吗?
【问题讨论】:
-
我刚刚意识到我可能无法在字符串类型对象上“GetNextSequence”,所以这个操作只对 List 类型对象有意义。我将对此进行测试并发布结果。
-
我想我是在和自己对话,但无论如何 GetNextSequence 不限于 List 对象。它确实将值放入 Redis 数据库以跟踪 GetNextSequence。 mythz 对另一个答案的评论支持这个想法:“ID 总是顺序的。他们使用 Redis 的 INCR 命令”
-
这里有一个悬而未决的问题,即ServiceStack.Redis 放入redis 数据库中的不是直接用户键的文档在哪里?如果我知道要寻找什么,除了我想是源代码之外,我还没有在任何地方找到它。我的 Redis DB 中出现了一些非常令人困惑的东西,比如 id 集。有多少个 id 以及在什么条件下会显示这些 id?如果我不知道为什么或何时显示,我可以用 id 填充数据库?
标签: c# redis servicestack servicestack.redis