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