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但钢铁在如何使用它方面需要一些帮助谢谢:)
我明白了!
如果有人需要,我做了:
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是因为分割后我得到了双倍的