【问题标题】:RedisSessionStateProvider ERR unknown command 'EVAL'RedisSessionStateProvider ERR 未知命令“EVAL”
【发布时间】:2016-02-24 22:00:14
【问题描述】:

当我在本地运行 Microsoft.Web.Redis.RedisSessionStateProvider 时,我收到以下错误:

StackExchange.Redis.RedisServerException: ERR unknown command 'EVAL'

我已经从 nuget 安装了最新的 RedisSessionStateProvider。

网络配置:

 <sessionState mode="Custom" customProvider="MySessionStateStore">
  <providers>

    <add name="MySessionStateStore" type="Microsoft.Web.Redis.RedisSessionStateProvider" host="" accessKey="" ssl="false" />
  </providers>
</sessionState>

【问题讨论】:

  • EVAL 在 redis 2.6 中引入;你在本地运行什么版本的redis?您是否更改了配置(尤其是命令映射)?
  • 谢谢 - 就是这样。我在windows上运行它,所以不容易得到redis服务器。
  • 只是cinst redis-64install-package redis-64;很容易得到;p
  • 哈,是的,刚刚发现(见下文)。谢谢。

标签: stackexchange.redis


【解决方案1】:

我运行的是 2.6 之前的 redis 服务器版本。

获得适用于 Windows 的 redis 服务器的快速简便方法是通过巧克力。

从这里安装:https://chocolatey.org/

然后从这里使用命令获取 redis: https://chocolatey.org/packages/redis-64/3.0.501

然后去C:\ProgramData\chocolatey\lib\redis-64运行redis-server.exe

然后您需要安装为服务(请参阅 C:\ProgramData\chocolatey\lib\redis-64 中的注释)

或者从这里获取一个 Windows 安装程序 msi(如果您不太介意版本,即仅用于开发,则更容易)https://github.com/MSOpenTech/redis/releases

【讨论】:

  • 我会先放 GitHub 链接。我会说这更容易
  • 你真是个救命的人!
【解决方案2】:

你应该像@SSED 所说的那样升级你的 Redis。你可以在这里下载 32 位版本的 redis: https://github.com/cuiwenyuan/Redis-Windows-32bit

另外,如果有另一个错误“活动机器拒绝它”,您应该在下载后运行redis-server.exe 文件。

【讨论】:

    【解决方案3】:

    如果您的服务器实例大于或等于 2.6,但 EVAL 命令已显式重命名,也会发生这种情况。后者有时出于安全原因在作为服务提供的 redis 服务器上执行(例如 CloudFoundry)

    【讨论】:

      猜你喜欢
      • 2019-01-07
      • 2018-12-23
      • 2020-10-28
      • 2020-03-25
      • 1970-01-01
      • 1970-01-01
      • 2017-10-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多