You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js集成最新Redis时出现TypeError: client.lrange is not a function问题求助

问题原因及解决方案

问题根源

你使用的是Redis Node.js客户端v4.x版本,该版本对API做了重构,所有Redis命令对应的客户端方法均采用驼峰式命名,原小写形式的命令方法(比如lrange)已被移除,这就是报错TypeError: client.lrange is not a function的原因。而get能正常工作是因为v4为部分高频命令保留了小写别名,但lrange不在此列。

两种解决方法

方法1:使用驼峰式命名的命令方法

将lrange替换为驼峰式的lRange即可:

const redis = require("redis");
const id = 1;
const client = redis.createClient();
await client.connect();
let results = await client.lRange(`device:messages:${id}`, 0, -1);
await client.disconnect();

方法2:使用sendCommand直接发送原始Redis命令

如果习惯原始命令的大写形式,可以用sendCommand方法传递命令数组:

const redis = require("redis");
const id = 1;
const client = redis.createClient();
await client.connect();
let results = await client.sendCommand(['LRANGE', `device:messages:${id}`, 0, -1]);
await client.disconnect();

内容的提问来源于stack exchange,提问作者user824624

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 16:10:32