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