无法将对象加载到Asp.net上的Redis会话状态提供程序

本文关键字:Redis 上的 会话状态 程序 net Asp 对象 加载 | 更新日期: 2023-09-27 17:57:28

我正在一个简单的Asp.NetMVC项目上测试不同的会话状态提供程序。

当我将Redis插入到项目中时,如果我加载几百个对象,它就可以正常工作。然而,当我推了几千;我遇到以下错误,找不到任何解决方案。

[RRedisServerException:ERR运行脚本时出错(调用f_59249e4f506be114e0a7fb8654a9b761f1b3b34e):@user_script:5:user_script:5:太多结果无法解包]

无法将对象加载到Asp.net上的Redis会话状态提供程序

错误详细信息使我受到lua脚本的限制(script和unpack关键字与lua有关)
LUAI_MAXCSTACK似乎有一个8000的限制,这里有更多细节:如何避免在Lua脚本限制中调用Redis
但是,你真的需要在一个会话中使用数千个项目吗?您将遇到性能问题,每次请求都会加载并保存会话项目。如果您需要这么多项目,请考虑使用单独的缓存层。