【发布时间】:2016-10-29 04:16:08
【问题描述】:
在我的 Azure ASP.NET MVC 网站中,我想显示有多少客户端连接到 Redis 会话状态提供程序以及它们处于活动状态的时间。我使用 Azure Github 上的 aspnet-redis-providers 库。
在 Redis 中,它会创建一个 {[app_name]_[sessionkey}_Internal 键,其中的 SessionTimeout 键具有配置的会话超时值。该密钥的 EXPIRE 设置为该时间,当您检查密钥的 TTL 时,您会看到会话访问。
如何使用会话状态提供程序库来访问这些信息?如果这不可能,我可以使用任何其他库来安全地查询此信息,而不会干扰会话状态提供程序吗?
【问题讨论】:
-
获取所有密钥就足够了吗?我的意思是它可能无法为您提供使用的客户端的确切数量。(一个客户端可以存储许多键值对)
-
我是这么认为的,但是如果您可以访问密钥,您也可以获得我猜的值。它更多地与会话状态提供者已经与锁定等建立了开放连接,我想重用它来做我的查询
-
它是一个键值存储。我不确定是否会有可以锁定的各种实时连接。如果客户端拥有连接到 redis 缓存的凭据,他们总是可以使用它。
标签: c# asp.net-mvc session azure redis