gpt4 book ai didi

javascript - 没有外部模块如何与redis通信?

转载 作者:可可西里 更新时间:2023-11-01 10:57:34 24 4
gpt4 key购买 nike

我想知道如何 Node redis wrapper与 RESP(REdis 序列化协议(protocol))数据库通信。

一个例子

const redis = function(uri) {
this.client = '' // how connect with redis uri redis://localhost:6379
}

redis.prototype.set = (key, value, callback) => {
// how comunicate with redis and set some value?
}

最佳答案

所以RESP是一个基于TCP连接的明文协议(protocol)。

Node 允许您使用 builtin net module 建立 TCP 连接及其 Socket 类。

因此对于您的示例(注意:这是一个明显过于简化的版本):

var net = require('net'); // builtin since Node 0.3.4

const redis = function(uri) {
var host = getHostFromUri(uri), port = getPortFromUri(uri)
this.client = new net.Socket()
this.client.connect(port, host, function() { ... })
this.client.on('data', function(msg) {
if(this.responseHandler) this.responseHandler(msg)
})
}

redis.prototype.set = function(key, value, callback) {
// assuming the connection was successful
this.client.write("SET " + key + " " + value + "\r\n")
this.responseHandler = callback
}

关于javascript - 没有外部模块如何与redis通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39179647/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com