Redis 的 INCRBYFLOAT
可直接針對 KEY 增加指定 Float,亦可使用 Node Redis 的 incrbyfloat()
。
Version
macOS Catalina 10.15.3
WebStorm 2019.3.4
Redis 5.0.6
Node Redis 2.8.0
Command
$ get price
$ incrbyfloat price 0.5
- 使用
INCRBY
對price
key 增加0.5
Node
import { createClient } from 'redis'
import { promisify } from 'util'
let myRedis = createClient({
host: 'localhost',
port: 6379
})
let redisGet = promisify(myRedis.get).bind(myRedis)
let redisIncrbyfloat = promisify(myRedis.incrbyfloat).bind(myRedis)
redisGet('price').then(console.log)
redisIncrbyfloat('price', 0.5).then(console.log)
第 10 行
let redisIncrbyfloat = promisify(myRedis.incrbyfloat).bind(myRedis)
使用 promisify()
將 incrbyfloat()
從 callback 轉成回傳 promise。
13 行
redisIncrbyfloat('price', 0.5).then(console.log)
使用 redisIncrbyfloat()
對 price
key 直接新增 0.5
,回傳為新增後結果的 promise。
Conclusion
- Node Redis 所提供的
incrbyfloat()
為 callback based,可使用promisify()
轉成 promise based