我已经在node.js应用程序中将Redis版本升级到最新版本4.6.7
,Redis服务器版本为4.0.10
zrevrange在最新的Node-Redis版本中被弃用。我使用zRange和REV标志。它在Redis 6.x服务器上工作正常,但在Redis 4.x服务器上却不行。
client.zRange( key , startIndex , stopIndex , {'REV': true} );
它抛出如下语法错误[ErrorReply: ERR syntax error]
有什么办法解决吗?
提前感谢!
1条答案
按热度按时间xuo3flqw1#
Redis Server版本4非常非常旧,如果可能的话,你应该升级到Redis 7或6.2,因为有很多好的理由-性能,安全性,功能等。
Node-Redis v4允许您使用
sendCommand
函数运行任意命令。你可以在旧版Redis服务器上调用ZREVRANGE
,方法是向sendCommand
传递一个字符串数组,表示你想在redis-cli
中运行的命令:package.json
:index.js
:运行此代码的结果:
注意,你得到的响应不会被Node Redis转换,所以你会得到一个类似数组的响应,这就是这个命令的底层Redis协议响应的样子。