草庐IT

servicestack-auth

全部标签

使用 ServiceStack 在分布式环境中订阅 Redis key 空间通知

我们有一些具有给定TTL的Rediskey,我们希望订阅这些key并在TTL到期后采取行动(一个作业调度程序)。这在单主机环境中运行良好,当您使用Redis客户端在ServiceStack中订阅'__keyspace@0__:expired'时,该服务将选择它并采取行动。太棒了......直到您设置了一个高可用性拓扑,该集群中有多个API实例。然后每个主机似乎都在接收该消息并可能对其进行操作。我知道键空间通知的工作方式与传统的发布/订阅或消息传递层事件并不完全相同,但是有没有办法对这些类型的事件执行某种确认,以便在一天,只有一个宿主会继续执行任务?否则,有没有办法延迟消息发布?谢谢!

iis - ServiceStack.Redis 在 Windows 服务器的 IIS 上部署时无法连接 : sPort: 0,

我正在构建在带有IIS的Windows服务器上发布的.NetCore应用程序后端。在这种情况下,用户可以创建一个session并接收发送给它的消息。session和消息存储在数据库中,但为了使其更快,我将Redis与PubSub工具一起使用,该工具处理消息而不是实际对应的REST请求。明确地说,创建session时,也会创建对Redischannel的订阅,并将消息发布到该channel,然后处理程序将消息存储在数据库中。我使用的是ServiceStack.Redis的许可版本,并且在VisualStudio(Kestrel)的开发服务器中一切正常,但是一旦我将它部署到IIS,我大多数

iis - ServiceStack.Redis 在 Windows 服务器的 IIS 上部署时无法连接 : sPort: 0,

我正在构建在带有IIS的Windows服务器上发布的.NetCore应用程序后端。在这种情况下,用户可以创建一个session并接收发送给它的消息。session和消息存储在数据库中,但为了使其更快,我将Redis与PubSub工具一起使用,该工具处理消息而不是实际对应的REST请求。明确地说,创建session时,也会创建对Redischannel的订阅,并将消息发布到该channel,然后处理程序将消息存储在数据库中。我使用的是ServiceStack.Redis的许可版本,并且在VisualStudio(Kestrel)的开发服务器中一切正常,但是一旦我将它部署到IIS,我大多数

redis - 如何通过 CloudFormation 模板将 Redis AUTH token 添加到 ElastiCache?

我正在设置新的RedisElastiCache堆栈,需要帮助添加AUTHtoken作为附加安全层。使用CloudFormation模板部署堆栈时应该添加什么参数?我还没有找到与此相关的任何文档,因此,如果有人能提供帮助,我将不胜感激。[更新]添加AuthToken参数后,我在CloudFormation控制台上看到错误“EncounteredunsupportedpropertyAuthToken”。 最佳答案 在这里回答我自己的问题,以防有人遇到同样的问题。如果您需要启用AUTH的ElastiCacheRedis实例,则需要使用复

redis - 如何通过 CloudFormation 模板将 Redis AUTH token 添加到 ElastiCache?

我正在设置新的RedisElastiCache堆栈,需要帮助添加AUTHtoken作为附加安全层。使用CloudFormation模板部署堆栈时应该添加什么参数?我还没有找到与此相关的任何文档,因此,如果有人能提供帮助,我将不胜感激。[更新]添加AuthToken参数后,我在CloudFormation控制台上看到错误“EncounteredunsupportedpropertyAuthToken”。 最佳答案 在这里回答我自己的问题,以防有人遇到同样的问题。如果您需要启用AUTH的ElastiCacheRedis实例,则需要使用复

c# - ServiceStack 的 RedisTypedClient - 可以使用字符串来定义类型吗?

我想弄清楚是否有任何方法可以创建具有RedisTypedClient功能但能够使用简单的定义URNkey的RedisClient字符串而不是传入类型。例如,目前我们正在像这样创建IRedisTypedClient:varredisProjectClient=_redisClientsManager.GetClient().As()然后我们可以根据我们知道的类型存储/检索相关实体:varfiles=redisProjectClient.GetRelatedEntities(projectId);但是,我们想要管理来自外部服务(由HTTPAPI端点获取)的对象的简单JSON负载。这些有效负

c# - ServiceStack 的 RedisTypedClient - 可以使用字符串来定义类型吗?

我想弄清楚是否有任何方法可以创建具有RedisTypedClient功能但能够使用简单的定义URNkey的RedisClient字符串而不是传入类型。例如,目前我们正在像这样创建IRedisTypedClient:varredisProjectClient=_redisClientsManager.GetClient().As()然后我们可以根据我们知道的类型存储/检索相关实体:varfiles=redisProjectClient.GetRelatedEntities(projectId);但是,我们想要管理来自外部服务(由HTTPAPI端点获取)的对象的简单JSON负载。这些有效负

redis - ServiceStack Redis 客户端期望旧版本的 ServiceStack.Common

我只是NuGettedServiceStack.Redis3.1.3但作为它的依赖项它也得到ServiceStack.Common和ServiceStack.Text3.1.6现在,当我构建应用程序时,一切正常。但是,当我运行应用程序时,一些Redis客户端方法可以正确执行,但其中一些方法,例如(RedisClient.GetAllKeys)抛出异常无法加载文件或程序集“ServiceStack.Common,Version=1.0.4336.27526,Culture=neutral,PublicKeyToken=null”或其依赖项之一。系统找不到指定的文件。然后我删除了所有dll

redis - ServiceStack Redis 客户端期望旧版本的 ServiceStack.Common

我只是NuGettedServiceStack.Redis3.1.3但作为它的依赖项它也得到ServiceStack.Common和ServiceStack.Text3.1.6现在,当我构建应用程序时,一切正常。但是,当我运行应用程序时,一些Redis客户端方法可以正确执行,但其中一些方法,例如(RedisClient.GetAllKeys)抛出异常无法加载文件或程序集“ServiceStack.Common,Version=1.0.4336.27526,Culture=neutral,PublicKeyToken=null”或其依赖项之一。系统找不到指定的文件。然后我删除了所有dll

redis - 如何在 ServiceStack Redis 客户端中清除所有 X 类型的实例

我想从RedisDb中清除所有X实例以进行测试。但是我找不到redisClient.As().CLEAR()方法?如何清除所有X实例?我可以使用添加X个实例varclient=newPooledRedisClientManager(ConfigurationManager.AppSettings["RedisServer"]).GetClient();Xx=newX();client.As().Store(x);所有x实例都以urn:X:x.id模式添加到Db。 最佳答案 IRedisTypedClient实现通用IBasicPer