Redis执行HSTRLEN命令报错“ERR unknown command 'HSTRLEN'”求助
解决Redis中HSTRLEN命令报错的问题
嘿,我来帮你搞定这个问题~从你贴的命令执行记录来看,核心问题出在Redis版本不兼容上:
为什么会报错?
HSTRLEN这个命令是Redis 3.2.0版本才正式引入的新命令,如果你的Redis版本低于3.2.0,服务器就会识别不了这个命令,直接抛出ERR unknown command 'HSTRLEN'的错误。
怎么验证版本?
先检查你的Redis版本:
- 在终端执行:
redis-server --version - 或者在Redis客户端里输入:
INFO server,然后查看输出里的redis_version字段
两种解决办法
升级Redis版本
把你的Redis升级到3.2.0及以上版本,之后就能正常使用HSTRLEN命令了。用替代方案(不升级版本)
如果暂时没法升级,可以先通过HGET获取字段值,再用STRLEN计算长度:- 在Redis客户端里用Lua脚本实现:
EVAL "return strlen(redis.call('HGET', KEYS[1], ARGV[1]))" 1 myhash f1 - 或者在终端里结合管道命令:
redis-cli HGET myhash f1 | wc -c
- 在Redis客户端里用Lua脚本实现:
额外确认
你拼写的命令是对的,和官方示例一致,所以不用怀疑拼写问题啦~
内容的提问来源于stack exchange,提问作者user9521248
相关产品推荐
相关产品推荐

