2017-08-31 98 views
1

將我們的Web應用程序的新版本部署到Azure應用服務時,我需要清除關聯的Azure Redis緩存中的數據。這是爲了確保我們不返回新版本中具有模式更改的舊版本項目。在部署期間使用PowerShell清除Azure Redis緩存

我們使用八達通部署部署和我以前試過執行以下PowerShell命令重置緩存:

Reset-AzureRmRedisCache -ResourceGroupName "$ResourceGroup" -Name "$PrimaryCacheName" -RebootType "AllNodes" -Force 

這工作成功,但它是一個有點笨拙,我們遇到了間歇性我懷疑是由於我們重新引導Redis並刪除現有連接而導致的連接問題。

理想情況下,我只想通過PowerShell執行FLUSHALL命令。這是一個更好的方法,是否可以使用StackExchange.Redis庫在PowerShell中執行?

回答

2

Reset-AzureRmRedisCache cmdlet重新啓動Azure Redis緩存實例的節點,我認爲這對您的需求有點矯枉過正。

是的,可以在PowerShell中執行Redis FLUSHALL命令。

作爲先決條件,你應該安裝Redis CLI和設置環境變量指向您的環境中Redis的CLI可執行文件/二進制文件的路徑。

然後,您可以使用Redis-CLI命令在PowerShell中執行,如下所示。

Invoke-Command -ScriptBlock { redis-cli -h <hostname>.redis.cache.windows.net -p <redisPort> -a <password> } 
Invoke-Command -ScriptBlock { redis-cli flushall } 

代碼樣品的執行結果的上方,如下所示: enter image description here

+0

我需要有一些庫裝好?在powershell中的命令返回OK作爲響應,但是當我在Azure門戶中檢查Redis控制檯時,緩存仍然有值。 –