Node.js Redis 提供了可以根据您的用例使用的某些属性。一种这样的属性是detect_buffers。
如果此属性设置为 True,则发送到回调的回复将作为缓冲区发送。
此选项允许您基于此单个命令在缓冲区和字符串之间切换。
此属性不适用于pub-sub mode。
detectBuffers: true
创建一个名为“ 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>
让我们再举一个例子
// 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>