在部署期间使用PowerShell清除Azure Redis缓存

问题描述:

将我们的Web应用程序的新版本部署到Azure应用服务时,我需要清除关联的Azure Redis缓存中的数据。这是为了确保我们不返回新版本中具有模式更改的旧版本项目。在部署期间使用PowerShell清除Azure Redis缓存

我们使用八达通部署部署和我以前试过执行以下PowerShell命令重置缓存:

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

这工作成功,但它是一个有点笨拙,我们遇到了间歇性我怀疑是由于我们重新引导Redis并删除现有连接而导致的连接问题。

理想情况下,我只想通过PowerShell执行FLUSHALL命令。这是一个更好的方法,是否可以使用StackExchange.Redis库在PowerShell中执行?

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控制台时,缓存仍然有值。 –