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