2015-10-14 36 views
1
Session["User"] = "LTA"; 

我在我的應用程序中使用了這個會話。 我無法在.net應用程序中查看此存儲的會話值。 我想在下面的方法:如何在.Net應用程序中查看所有存儲的會話的REDIS鍵和值?

ConnectionMultiplexer redisConnection = ConnectionMultiplexer.Connect("hostname,ssl=true,password=privatekey,allowAdmin=true"); 

var redisServer = redisConnection.GetServer("hostname", port); 

在這裏,我可以能夠通過使用下面的代碼來獲得密鑰列表和客戶名單:

redisServer.Keys() 
redisServer.ClientList() 

但鍵值顯示像

\ skdkhciduhcahoaids_Data

\ skdkhciduhcahoaids_Internal

這是加密的鍵值嗎? (這是我的第一個查詢)

然後, 如果我在多個瀏覽器中打開該應用程序,此結果不會更改。但實際上,如果我在2個瀏覽器中打開應用程序,實際上我需要4個結果,因爲應用程序在2個瀏覽器中運行時處理了2個會話。

爲什麼它給出相同的結果?

我可以在redis連接中查看存儲的會話值嗎?如果是,則表示如何查看會話值?

在此先感謝.....

+0

靈感:http://redis.io/commands/KEYS和這個Python問題http://stackoverflow.com/questions/5252099/redis-command-to-get-all-available-keys –

+0

@KristofferBohmann:是。我們可以通過運行Redis-cli.exe來獲取所有密鑰。但是我需要在.Net應用程序中具有價值的關鍵列表。 – LTA

回答

0

我得到了第一和第二個問題的解決方案:

這是加密的密鑰值?

ASP.Net會話ID已被存儲爲REDIS緩存的密鑰。

REDIS's Key of Stored session value

爲什麼它給了同樣的結果?

當我用同一個用戶登錄時,它顯示相同的結果。但是,如果我以不同的用戶登錄,它會爲每次登錄顯示不同的結果。

相關問題