什么是redis?
Redis是目前业界使用最广泛的内存数据存储。相比memcached,Redis支持更丰富的数据结构,同时支持数据持久化。除此之外,Redis还提供一些类数据库的特性,比如事务,HA,主从库。可以说Redis兼具了缓存系统和数据库的一些特性,因此有着丰富的应用场景。
应该场景:
1:数据缓存
2:共享Session
应用实例:
redis存储是分为两种 kv结构 hash结构 一般使用的是hash结构
1.kv结构
const redis = require("redis");
let port = 6379;
let host = "127.0.0.1"
let password = "123456";
client.auth(password,()=>{
console.log("ok")
})
client.on("connect",()=>{
client.set('张三','憨憨敬礼',(err,res)=>{
if(err){
console.log(err)
return
}
console.log(res)
})
client.get("张三",(err,res)=>{
if(err){
console.log(err)
return
}
console.log(res)
})
})
封装写法:
const redis = require("redis");
let port = 6379;
let host = "127.0.0.1"
let password = "123456";
client.auth(password,()=>{
console.log("ok")
})
function setKey(key,value,callback){
client.on("connect",()=>{
client.set(key,value,callback)
})
}
function getKey(key,callback){
client.on("connect",()=>{
client.get(key,callback)
})
}
setKey("张三","憨憨敬礼",(err,res)=>{
if(err){
console.log(err)
return
}
console.log(res)
})
getKey("张三",(err,res)=>{
if(err){
console.log(err)
return
}
console.log(res)
})
哈希写法:
const redis = require("redis");
let port = 6379;
let host = "127.0.0.1"
let password = "123456";
let client = redis.createClient(port,host);
client.auth(password,()=>{
console.log("ok")
})
function hset(hash,key,value,callback){
client.on("connect",()=>{
client.hset(hash,key,value,callback)
})
}
function hget(hash,key,callback){
client.on("connect",()=>{
client.hget(hash,key,callback)
})
}
hset("name","张三","憨憨敬礼",(err,res)=>{
if(err){
console.log(err)
return;
}
console.log(res)
})
hget("name","张三",(err,res)=>{
if(err){
console.log(err)
return;
}
console.log(res)
})