使用Redis存储和获取布尔值

9ye*_*ars 6 javascript redis node.js

我正在尝试使用 Redis 来存储和获取我的切换功能的布尔值。

我使用的依赖是redis-js我可以false使用键将值设置为 redis 但从 redis 获取值始终为false.

先说把key值存储到Redis

redis.set('myKey', 'false');
Run Code Online (Sandbox Code Playgroud)

获取价值

let toggle = redis.get('myKey');
toggle = !toggle;
Run Code Online (Sandbox Code Playgroud)

店铺

redis.set('myKey', toggle);
Run Code Online (Sandbox Code Playgroud)

得到

const checkStatus = redis.get('myKey');
return checkStatus;
Run Code Online (Sandbox Code Playgroud)

我期望true -> false如果执行该函数两次,输出将是。

156*_*223 6

为了让您的工具正常工作,您必须明确检查您获得的值是否等于 string 'false'

let toggle = redis.get('myKey');
toggle = toogle === 'false'
Run Code Online (Sandbox Code Playgroud)

将字符串转换'false'为布尔结果为true not false并否定它你得到false

来自 MDN

所有其他值,包括任何对象或字符串"false",创建一个初始值为true

这是一个插图:

let toggle = redis.get('myKey');
toggle = toogle === 'false'
Run Code Online (Sandbox Code Playgroud)