- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
支持哪个代理?如果有,我该如何使用它?
是否支持hashtag?或者类似的东西?
除了单元测试,有没有完整的用例? (即虽然看了官方的GitHub文档,但是还是不懂怎么用。)
最佳答案
您正在链接到 Configure Redis Sentinel Servers文档,所以我假设您想配置 ServiceStack.Redis 实例以使用 Redis Sentinel 配置。
备注Redis Sentinel是 Redis 的高可用性解决方案(它不是代理),我建议阅读 Redis's official Redis Sentinel docs了解其工作原理。
首先,您需要设置 Redis Sentinel 配置。一个流行的设置是有 1x Redis Master 和 2x Redis replica slaves,此外,通常在每个上都有一个单独的 redis sentinel 实例(它监视正在运行的 redis 实例)运行 redis 实例的服务器。为了便于开发,您可以使用 ServiceStack's redis-config项目,可以轻松地在同一台服务器上运行 1x master、2x slaves 和 3x sentinel 进程。
然后,当您运行 Redis 配置(假设为本地主机)时,您可以使用 ServiceStack 的 RedisSentinel
类连接到它,方法是传入每个哨兵实例的 IP 和端口,例如:
var sentinelHosts = new[]{
"127.0.0.1:26380",
"127.0.0.1:26381",
"127.0.0.1:26382",
};
var sentinel = new RedisSentinel(sentinelHosts, masterName: "mymaster");
IRedisClientsManager redisManager = sentinel.Start();
Note: you don't have to include the IP and ports for Redis master or Redis slave instances as they'll be automatically discovered and can even change. You also can start with a single Redis Sentinel Instance as
RedisSentinel
will also be able to discover other sentinels in the same"mymaster"
group.
一旦您调用 sentinel.Start()
,它将返回一个已配置的 IRedisClientsManager
,它维护一个打开的 Redis 客户端连接池,并监听 Redis 的哨兵服务器实例Redis Sentinel 配置的任何更改,例如以防万一 Redis 主服务器切换到正在运行的从属副本之一。
您应该将 redisManager
维护为单例,并使用它来解析您需要的所有 redis 客户端,例如如果使用 IOC,您可以将其注册为单例:
container.Register<IRedisClientsManager>(redisManager);
每当您需要与 Redis 连接时,您都可以使用 GetClient()
来解析与当前主实例的 Redis 连接:
using (var redis = redisManager.GetClient())
{
}
并且在using语句结束时(或者调用.Dispose()
时)你打开的Redis连接会返回到内部连接池,等待下一次解析。
关于c# - 关于ServiceStack.Redis的一些问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51588011/
我创建了派生自的服务 ServiceStack.ServiceInterface.Service 实现一些请求。此服务实例的生命周期是多少 - 例如每次调用是否创建了一个新实例,或者该实例是否被缓存?
是否存在检测代码模型中的更改并自动重新创建数据库的首选方法?我不需要迁移数据,如果有更改,可以完全删除所有表,从模型中重新创建表,并使用代码中的初始数据集填充新表,这样就可以了。 与此相关:使用Ser
我正在尝试为 ServiceStack 服务创建一个自定义属性,我可以使用它来控制服务类中的每个方法。 这是我正在实现的属性类。 [AttributeUsage(AttributeTargets.Me
我在玩 ServiceStack,想知道它是否支持这种情况。我在我的请求类型中使用了泛型,这样许多从公共(public)接口(interface)继承的 DTO 将支持相同的基本方法 [比如... G
ServiceStack 服务中是否有任何机制来返回流/大型二进制数据? WCF 的 MTOM 支持虽然笨拙,但在返回大量数据而没有文本转换开销方面很有效。 最佳答案 我喜欢服务堆栈,这个小代码足以从
我很惊讶地发现没有关于这个主题的文档,有人知道 OrmLite 是否支持开放式并发吗?欢迎提供任何文档或示例引用。 最佳答案 这真的不取决于 OrmLite。这取决于隔离级别和您的数据库设置。 例子:
最近在做servicestack项目。当我尝试在项目中添加 open ServiceStack.ServiceInterface 时,它显示以下错误。 代码的 PFB 图片。 正如错误建议的那样,当我
我将如何使用 servicestack 处理静态文件? 我想添加一个像 Routes.Add(/app) 这样的路由,当客户端为此路径发出 GET 时,我需要返回一个 Silverlight xap
这类似于问题 Set Cache-Control: no-cache on GET requests ,这并没有真正得到回答。 在 API 响应中,缓存控制 header 被设置为私有(private
我刚刚进入 REST 和 ServiceStack,现在我的 GET 正在返回可能是 XML 或 Json 的字符串。 我现在需要处理更改我的域模型的 PUT 或 POST 命令。 对于单个资源,我的
一段时间以来,我们一直在将 ServiceStack 用于基于 REST 的服务,到目前为止,效果非常好。 我们所有的服务都写成: public class MyRestService : RestS
我读过@mythz 的这篇文章 https://stackoverflow.com/a/12413091/1095655 , 但我的声誉不够高,无法发表评论 我有一个问题正在工作。如果您收到带有版本
关于通用类型响应对象的文档,我遇到了 Swagger 的 ServiceStack 实现问题。强类型的响应对象被正确记录和显示,但是一旦通用类型的对象用作响应,文档就会不准确且具有误导性。 请求 DT
我目前正在研究一个解决方案,其中我们有一个自托管的 ServiceStack 层正在运行,但问题是当我从浏览器访问它并且浏览器尝试获取 favicon 时,我不断收到错误消息。据我所知,在运行自托管时
我正在查看 ServiceStack 中单元测试的源代码 TestHostBase.cs - 并让它与我自己的项目一起运行。在单元测试时如何在不实际启动监听器的情况下启用我的插件?例如,我想测试我的
ServiceStack 服务非常适合响应 Accept header 中请求的内容类型。但是如果我需要在请求过滤器中尽早关闭/结束响应,有没有办法用正确的内容类型进行响应?我在请求过滤器中所能访问的
我有一个 FileSystemBlobProvider 需要将物理路径映射到虚拟路径,反之亦然。我还需要访问主机名(我需要在给定应用程序相对路径的情况下生成公共(public) url)。理想情况下,
我阅读了新维基 Modularizing Services在 ServiceStack 页面上。我没有发现如何在插件中注册多个服务。当然我可以用appHost.Register(typeof(MySe
我想在重定向中保持状态并且想在重定向中保持一些状态。我认为 MVC 中的 TempData 会在 Rails 中执行此操作并闪烁消息。 ServiceStack 中的任何等效功能。我想在自己组装之前先
从 asp.net 网站调用 servicestack API 的最佳方法是什么。服务正在 IIS 中运行。服务堆栈中的所有方法都需要先进行身份验证。 我尝试使用 JsonServiceClient
我是一名优秀的程序员,十分优秀!