Node.js – Redis 中的detect_buffers 属性

Node.js Redis 提供了可以根据您的用例使用的某些属性。一种这样的属性是detect_buffers。

  • 如果此属性设置为 True,则发送到回调的回复将作为缓冲区发送。

  • 此选项允许您基于此单个命令在缓冲区和字符串之间切换。

  • 此属性不适用于pub-sub mode

语法

detectBuffers: true

示例 1

创建一个名为“ detectBuffers.js ”的文件并复制以下代码。创建文件后,使用命令“ node detectBuffers.js ”运行此代码,如下例所示:

// detect_buffers 属性演示示例

// 导入redis模块
const redis = require("redis");

// 使用设置为 true 的 detect_buffers 属性创建 redis 客户端
const client = redis.createClient({ detect_buffers: true });

// 设置键值对
client.set("foo_rand000000000000", "OK");

// 根据缓冲区键检索值
client.get("foo_rand000000000000", function(err, reply) {
   console.log(reply.toString());
});

// 由于原始密钥被指定为缓冲区,因此将返回缓冲区
client.get(new Buffer("foo_rand000000000000"), function(err, reply) { 
   console.log(reply);
});
输出结果

它将产生以下输出 -

OK
<Buffer 4f 4b>

示例 2

让我们再举一个例子

// detect_buffers 属性演示示例

// 导入redis模块
const redis = require("redis");

// 使用设置为 true 的 detect_buffers 属性创建 redis 客户端
const client = redis.createClient({ detect_buffers: true });

// 设置键值对
client.set("Hello", "nhooo");

// 缓冲区将被返回
client.get(new Buffer("Hello"), function(err, reply) { 
   console.log(reply);
});
输出结果
<Buffer 54 75 74 6f 72 69 61 6c 73 50 6f 69 6e 74>