问题标签 [servicestack.redis]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
359 浏览

redis - Redis 故障转移场景

目前我有一个 redis 实例,现在我会做更多的失败证明。是否可以归档以下内容?我使用服务堆栈库连接到 redis,现在我希望当服务器不可用时 redis 自动切换到故障转移服务器。

0 投票
1 回答
792 浏览

servicestack - 如何在 Service Stack Redis 客户端中使用 GUID 作为 ID?

如何使用的客户端使用GUIDUUID作为对象 ID ?Service StackRedis

我仍在学习 Pluralsight 教程,Service Stack而且Redis我越来越担心。我的客户的要求之一是每个对象的键都是一个UUID(基本上是一个使用 的 Guid ToString("N"))。我很担心,因为GetBy我能看到的唯一方法是RedisClient使用int. int 不仅允许的对象太少,而且也无法完成使用 UUID 的任务。

0 投票
1 回答
159 浏览

redis - 是否可以在 Redis 中使用自定义 URN 前缀?

是否可以在 Redis 中使用自定义 URN 前缀?我正在尝试找到一种方法来在单个 Redis 实例中描述我们每个框架中的数据。例如,对于我们的金融系统,我想使用“fin:Batch:1234”。这样做有什么坏处吗?如果有帮助,我计划在开发过程中使用 Service Stack 和 Redis Desktop Manager。

0 投票
1 回答
89 浏览

servicestack.redis - 过期的 TypedClient 对象仍然保留在 redis 中的主集

想象一些类似下面的代码......

我将 myPoco 作为哈希存储在 redis 中。在这个阶段,如果您查看 redis 中的所有键,那么您会看到类似这样的内容...

urn:mypoco:12345包含存储为哈希的 myPocoInstance,ids:MyPoco包含一组指向存储在 redis 中的 MyPoco 的每个实例的指针(此时单个值 12345)。这一切都很好,直到到期开始。一旦urn:mypoco:12345到期,那么哈希就会从 redis 中消失,这很好,但是ids:MyPoco将永远不会更新以反映 12345 条目现在已经消失了。因此,随着时间的推移,ids:MyPoco将继续增长。

有没有办法解决?在我看来,将过期时间与 TypedClients 一起使用可能不是一个好主意。我能看到解决这个问题的唯一方法是根本不使用哈希,而是将 poco 上的所有单个字段存储为单独的 redis 条目 - 但这并不理想。

我希望我错过了一些明显的东西。

0 投票
1 回答
247 浏览

servicestack - 升级到 ServiceStack 4 后,如何将自定义 UserSession 保存到缓存?

我曾经能够将我的客户 AuthSession 保存到缓存中,但由于升级它只保存 IAuthSession 接口上的属性,而不是我的类 CustomUserSession。

代码在这里运行:

这段代码没有改变,但是现在当我在 redis 中查看保存的对象时,它只有来自 IAuthSession 的属性,而不是像以前那样来自 AcmeUserSession 的自定义属性。

请帮忙!

谢谢,

理查德

0 投票
0 回答
70 浏览

servicestack - 升级到 ServiceStack v4 后发布时出现 MQ Casting 错误

自从升级到 ServiceStack v4 后,我用于将对象添加到 Redis MQ 的代码现在会引发强制转换异常。

代码(没有改变):

抛出的异常:

我很确定 Github wiki 上的指南在 v4 上没有改变,所以我不确定我哪里出错了。请指教!

谢谢。

0 投票
1 回答
451 浏览

caching - 使用 Redis 和服务堆栈为 Piranha 编写缓存提供程序 - 跟踪缓存对象类型

我正在编写一个缓存提供程序来缓存任何类型的对象。当我从缓存中读取值时,问题是转换为正确的类型。

因此很容易将对象放入缓存中,然后将其转换为字符串。当我把它从缓存中拉出来时,它会变得有趣

这不起作用,因为我们没有正确的类型来转换,所以默认是返回 json 字符串。

我在想我应该为我所有的食人鱼对象创建一个哈希然后有这样的东西

这将允许我在将对象保存到缓存时设置对象类型。我想知道是否有更好的方法来获取/设置正在缓存的对象类型?

理想情况下,代码会显式地进行转换,但是目前 redis 中的缓存只使用对象类型(我认为)。


在大多数情况下,此实现应该可以工作,但是 Page 对象不会正确地从 Json 反序列化,并且控制器将始终为空。我认为必须进行一些后端更改才能使这成为可能。

0 投票
0 回答
327 浏览

c# - ServiceStack.Redis 使用实体属性而不是 ID 搜索列表

我正在尝试通过 Servicestack.Redis 将 Redis Cache 用于 MVC 应用程序。

Redis 仅适用于 Key 字段(默认 Id)。我有以下课程

以及以下功能进行测试

我在这里想做的是,

  1. 我没有使用 ID,而是配置RedisAuthorID用作 Author_Book 实体的键字段。
  2. 试图获取 Author.Id=2 的所有书籍的列表

问题是,它只给我Book-3,预期的结果是Book-2and Book-3

我猜rc.Store<Author_Book>(ab3);是覆盖以前的记录,ab2并且ab3两者都具有相同的 AuthorID。

如何实现?

我想存储单独的实体列表而不是 Graph,以便以后可以单独更新/删除它们。

0 投票
1 回答
117 浏览

servicestack - 使用 ServiceStack 中的类型信息进行一次 json 序列化

我们可以通过 ServiceStack 中的 JsConfig 设置序列化设置。

但是我们想要用户 Json 序列化,除了一个地方之外没有“类型信息”。那么我们如何在此处使用类型信息进行序列化。

我认为我们需要可选的配置参数:

0 投票
2 回答
2162 浏览

servicestack - 无效的 Servicestack 许可证

尝试使用我的新许可证时出现此运行时异常。

我做错什么了吗?我已经尝试了两种注册许可证的方式(app.config/code)。该应用程序是使用 Servicestack.Redis nuget 包的控制台应用程序。

当然,许可证是 Servicestack.Redis 许可证,当然已经联系了 team@servicestack.net,但没有回复。