redis在nodejs中应用
- 安装
> npm install redis
- 导入
const redis = require("redis")
- 连接
global.redis_client = null
let redis_config = {
prot: 6379,
host: '127.0.0.1',
password: ''
}
init_redis_client(){
// 连接数据库
redis_client = redis.createClient(redis_config.port, redis_config.host)
// 验证(若需要验证)
redis_client.auth(redis_config.password, function(){})
// 错误监听
redis_client.on('error', function(err){
redis_client.quit()
setTimeout(init_redis_client, 5000)
})
// 成功监听
redis_client.on('ready', function(err){
console.log('redis连接成功')
})
}
init_redis_client()
- 使用
let test_set = (req, res)=>{
if(!redis_client || !redis_client.connected){
res.send({ status: -1, data: "redis 未连接成功" })
return
}
let jsonInfo = {
"name": "terry",
"age": 12
}
redis_client.set('info', jsonInfo, (error, data)=>{
if(error){
res.send({error: error})
return
}
res.send({data: data})
})
}
redis五种类型
string类型
字符串(简单字符串、JSON、XML)、数字、二进制(图片、音频、视频)
set
设置key对应的值为string类型的value
set(key, value, callback(error, data))
get
获取key对应的string值,如果key不存在返回nil
get(key, callback)
append
如果key已经存在并且是字符串,则此命令将附加value在字符串的末尾。如果key不存在,则创建它并将其设置为空字符串。
append(key, callback)
getset
获取key值并赋值value
getset(key, callback)
hash 哈希
hgetall
hgetall(key, callback)
hset
hset(key, filed1, value1, callback)
hmset
hmset(key, filed1, value1, filed2, value2, callback)
hmset(key, {
filed1: value1,
filed2: value2
})
hget
hget(key, filed1, callback)
hmget
hmget(key, filed1, filed2, callback)
hdel
hset(key, filed1[, filed2], callback)
list 列表
rpush
从右边插入元素
rpush(key, value[, value], callback(error, data))
lpush
从右边插入元素
lpush(key, value[, value], callback(error, data))
set 集合
sadd
zset 有序集合
zadd