如何知道节点js中redis中给定键的值类型
How to know type of value of given key in redis in node js
我正在做一个使用 redis 和节点 js 的小项目 - redis 客户端'node_redis'。
问题是,要获取键的值,有不同的 get 函数,例如字符串和整数类型有 client.get,数组类型有 client.lrange() 等。
那么如果不知道所需的值类型,如何识别使用什么函数来获取值,有没有办法识别值类型。
通常您的应用程序应该事先知道它使用给定键名访问的值的类型。也就是说,Redis TYPE
可用于检查给定键的类型。
使用TYPE命令。
2022 redis v4 - ES with await
:
import { createClient } from 'redis'
async function go(){
const client = createClient()
client.on('error', console.error)
await client.connect()
const value = await client.TYPE('key')
}
redis v3 承诺:
const Promise = require('bluebird')
const redis = Promise.promisifyAll(require('redis'))
const client = redis.createClient()
client.on("error", err => console.log("Error " + err))
client.typeAsync('foo').then(res => {
console.log('type: "%s"', res)
})
.finally(()=> {
client.quit()
})
redis v3 回调:
const redis = require('redis')
const client = redis.createClient()
client.on("error", err => console.log("Error: %s", err))
client.type('foo', (err, res) =>{
if (err) return console.log('Error: %s', err)
console.log('type: "%s"', res)
client.quit()
})
我正在做一个使用 redis 和节点 js 的小项目 - redis 客户端'node_redis'。 问题是,要获取键的值,有不同的 get 函数,例如字符串和整数类型有 client.get,数组类型有 client.lrange() 等。 那么如果不知道所需的值类型,如何识别使用什么函数来获取值,有没有办法识别值类型。
通常您的应用程序应该事先知道它使用给定键名访问的值的类型。也就是说,Redis TYPE
可用于检查给定键的类型。
使用TYPE命令。
2022 redis v4 - ES with await
:
import { createClient } from 'redis'
async function go(){
const client = createClient()
client.on('error', console.error)
await client.connect()
const value = await client.TYPE('key')
}
redis v3 承诺:
const Promise = require('bluebird')
const redis = Promise.promisifyAll(require('redis'))
const client = redis.createClient()
client.on("error", err => console.log("Error " + err))
client.typeAsync('foo').then(res => {
console.log('type: "%s"', res)
})
.finally(()=> {
client.quit()
})
redis v3 回调:
const redis = require('redis')
const client = redis.createClient()
client.on("error", err => console.log("Error: %s", err))
client.type('foo', (err, res) =>{
if (err) return console.log('Error: %s', err)
console.log('type: "%s"', res)
client.quit()
})