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>