Servicestack RedisClient被处置后保持连接状态

哈桑·埃姆拉·桑古(Hasan EmrahSüngü)

我正在为班级中的redisclient使用servicestack。我有一个Redis客户,如下所示:

public class MySuperClass{
    ....        
    RedisClient client = new RedisClient("localhost", 6379);    
    public int MySuperProperty{get; set:}
    ....
}

以下是我使用它的方式,以确保在使用后正确处置它:

private void GetInfoFromRedis(object sender, EventArgs e) {
    using (client) {
        client.Set<Human>("RedisKey", new Human { 
            Age = 29,
            Height = 170,
            Name = "HumanName"
            });
        }
    }

我的问题是在处置后,client如果我使用相同的处置请求另一个Redis请求client,处置的客户端成功建立了另一个与Redis数据库的连接,但是这次连接保留在CLIENT LIST中。

神话

请参阅ServiceStack.Redis文档以获取使用ServiceStack Redis Client的正确用法,即您应该将Redis ClientManager作为单例使用,最好是在IOC中注册的单例,例如:

container.Register<IRedisClientsManager>(c => 
    new RedisManagerPool("localhost:6379"));

然后将其注入您的类中,例如:

public class MySuperClass
{
    public IRedisClientsManager RedisManager { get; set; }
}

然后,您可以使用以下方法从Redis ClientManger中解析客户端:

private void GetInfoFromRedis(object sender, EventArgs e) 
{
    using (var client = RedisManager.GetClient()) 
    {
        client.Set<Human>("RedisKey", new Human { 
            Age = 29,
            Height = 170,
            Name = "HumanName"
            });
        }
    }
}

如果不使用IOC,则可以在静态属性中填充IRedisClientsManager,例如:

public class MySuperClass
{
    public static IRedisClientsManager RedisManager = 
        new RedisManagerPool("localhost:6379");
}

但是重要的是要从a解析一个redis客户端IRedisClientsManager,然后在立即使用后将其处置,例如在using语句中:

using (var redis = RedisManager.GetClient()) { ... }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ServiceStack RedisClient是否支持Sort命令?

来自分类Dev

使用ServiceStack连接到多个Redis实例

来自分类Dev

存储库类不会在ServiceStack中处置

来自分类Dev

ServiceStack.Redis:通过使用redisClient.StoreAll()存储的对象属性查询对象的子集

来自分类Dev

如何在ServiceStack中返回不同的Http状态代码

来自分类Dev

ServiceStack AppHostHttpListenerBase无法连接到远程服务器

来自分类Dev

ServiceStack.Redis:PooledRedisClientManager创建太多连接的方式

来自分类Dev

ServiceStack非正常客户端断开连接

来自分类Dev

使用ServiceStack.Redis连接到TSL Redis Cloud

来自分类Dev

如何使用ServiceStack成功删除后返回HTTP 204响应

来自分类Dev

初始加载后,为什么ServiceStack返回“任务已被处理”

来自分类Dev

如何使用ServiceStack成功删除后返回HTTP 204响应

来自分类Dev

ServiceStack JsonServiceClient (TypeScript): 从 CORS 认证后不要去请求

来自分类Dev

ServiceStack核心

来自分类Dev

ServiceStack与NServiceBus

来自分类Dev

ServiceStack maxReceivedMessageSize

来自分类Dev

ServiceStack CustomRegistrationFeature

来自分类Dev

ServiceStack缓存

来自分类Dev

ServiceStack CustomRegistrationFeature

来自分类Dev

ServiceStack 4.0.30-CredentialsAuthProvider-未在身份验证失败时设置401状态

来自分类Dev

当HTTP状态代码为204 No Content时,为什么ServiceStack不添加CORS标头?

来自分类Dev

ServiceStack / FluentNHibernate / MySQL-两个并发请求使用相同的连接

来自分类Dev

在ASP.NET MVC4应用程序中重新连接到Servicestack会话

来自分类Dev

无法使用ServiceStack.Redis库连接Redis Cache服务器

来自分类Dev

在ServiceStack Services上进行身份验证后,在客户端上访问AuthSession

来自分类Dev

将ServiceStack从3.9.8升级到3.9.70(新API)后返回404

来自分类Dev

ServiceStack RequestLogger在发出很长时间后,将过去的请求显示为“正在运行”

来自分类Dev

如何在ServiceStack中进行身份验证后重定向到帖子

来自分类Dev

自更新到ServiceStack 5.8.0后,'ServerEvents.NotifySession'方法不起作用

Related 相关文章

  1. 1

    ServiceStack RedisClient是否支持Sort命令?

  2. 2

    使用ServiceStack连接到多个Redis实例

  3. 3

    存储库类不会在ServiceStack中处置

  4. 4

    ServiceStack.Redis:通过使用redisClient.StoreAll()存储的对象属性查询对象的子集

  5. 5

    如何在ServiceStack中返回不同的Http状态代码

  6. 6

    ServiceStack AppHostHttpListenerBase无法连接到远程服务器

  7. 7

    ServiceStack.Redis:PooledRedisClientManager创建太多连接的方式

  8. 8

    ServiceStack非正常客户端断开连接

  9. 9

    使用ServiceStack.Redis连接到TSL Redis Cloud

  10. 10

    如何使用ServiceStack成功删除后返回HTTP 204响应

  11. 11

    初始加载后,为什么ServiceStack返回“任务已被处理”

  12. 12

    如何使用ServiceStack成功删除后返回HTTP 204响应

  13. 13

    ServiceStack JsonServiceClient (TypeScript): 从 CORS 认证后不要去请求

  14. 14

    ServiceStack核心

  15. 15

    ServiceStack与NServiceBus

  16. 16

    ServiceStack maxReceivedMessageSize

  17. 17

    ServiceStack CustomRegistrationFeature

  18. 18

    ServiceStack缓存

  19. 19

    ServiceStack CustomRegistrationFeature

  20. 20

    ServiceStack 4.0.30-CredentialsAuthProvider-未在身份验证失败时设置401状态

  21. 21

    当HTTP状态代码为204 No Content时,为什么ServiceStack不添加CORS标头?

  22. 22

    ServiceStack / FluentNHibernate / MySQL-两个并发请求使用相同的连接

  23. 23

    在ASP.NET MVC4应用程序中重新连接到Servicestack会话

  24. 24

    无法使用ServiceStack.Redis库连接Redis Cache服务器

  25. 25

    在ServiceStack Services上进行身份验证后,在客户端上访问AuthSession

  26. 26

    将ServiceStack从3.9.8升级到3.9.70(新API)后返回404

  27. 27

    ServiceStack RequestLogger在发出很长时间后,将过去的请求显示为“正在运行”

  28. 28

    如何在ServiceStack中进行身份验证后重定向到帖子

  29. 29

    自更新到ServiceStack 5.8.0后,'ServerEvents.NotifySession'方法不起作用

热门标签

归档