是否可以使用Node的ioredis向Redis发送任意命令?
例如,我正在使用新的RediSearch模块,并希望使用以下命令创建一个索引:
FT.CREATE test SCHEMA title TEXT WEIGHT 5.0如何使用ioredis发送此命令?
发布于 2017-08-24 20:00:35
这将使您达到这个目的,尽管不确定响应编码:
var
Redis = require('ioredis'),
redis = new Redis('redis://:[yourpassword]@127.0.0.1');
redis.sendCommand(
new Redis.Command(
'FT.CREATE',
['test','SCHEMA','title','TEXT','WEIGHT','5.0'],
'utf-8',
function(err,value) {
if (err) throw err;
console.log(value.toString()); //-> 'OK'
}
)
);如果您愿意搜索雷迪斯,那么就有一个支持所有RediSearch命令的预构建的RediSearch插件。(披露:是我写的)
发布于 2017-10-30 19:16:23
或者,这些变体也能发挥作用:
redis.call('M.CUSTOMCMD', ['arg1', 'arg2', 'arg3'],
function(err, value) { /* ... */ });
// if you need batch custom/module commands
redis.multi([
['call', 'M.CUSTOMCMD', 'arg1', 'arg2', 'arg3'],
['call', 'M.OTHERCMD', 'arg-a', 'arg-b', 'arg-c', 'arg-d']
])
.exec(function(err, value) { /* ... */ });https://stackoverflow.com/questions/45808132
复制相似问题