redis c#客户端,我如何获得订阅者计数

本文关键字:何获得 客户端 redis | 更新日期: 2023-09-27 18:18:28

我需要给出关于我的发行商应用的统计数据比如有多少订阅者?

我无法看到从redis服务器获取信息

我已经尝试在'ServiceStack.Redis.RedisSubscription'中找到了

i found this

        var channel = ConfigurationManager.AppSettings["redis_channel"];
        var _redisClient = new RedisClient("localhost", 6379);
        var subscription = _redisClient.CreateSubscription();
        //subscription.SubscribeToChannels(channel);
        var subscription_count = (int)subscription.SubscriptionCount

但是每次都返回0。

任何想法?

编辑:我找到了这个http://redis.io/commands/client-list但钢铁在如何使用它方面需要一些帮助谢谢:)

redis c#客户端,我如何获得订阅者计数

我明白了!

如果有人需要,我做了:

var redis_ip = ConfigurationManager.AppSettings["redis_server_ip"];
        var redis_port = ConfigurationManager.AppSettings["redis_server_port"];
        int redis_port_int = 0;
        if (!int.TryParse(redis_port, out redis_port_int))
        {
            redis_port_int = 6739;
        }
        RedisNativeClient rnClient = new RedisNativeClient(redis_ip, redis_port_int);
        var clientlist_byte = rnClient.ClientList();
        var clientlist_string = Encoding.UTF8.GetString(clientlist_byte);
        var clientamount_double = clientlist_string.Split("'n".ToCharArray()).Length;
        var clientlist_int = (clientamount_double/2) - 1;
        return clientlist_int;

'-1'是从计数中删除我的自我,/2是因为分割后我得到了双倍的