Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
redis在对数据的读写上速度非常快,被许多公司所使用。且支持许多语言,在node.js上也可以使用。
使用前的准备
熟悉node.js的人都知道操作数据库需要使用npm下载模块,redis也不例外。
下载命令
npm i redis
连接数据库
redis数据库在读写数据前需要进行连接操作,设置好端口号,域名和密码。
const redis = require('redis');//导入模块
let port = 6379;//redis的默认端口号
let host = '127.0.0.1';//域名
let password = '123456';
let client = redis.createClient(port,host);
client.auth(password,()=>{
console.log('连接成功');
})
redis的存储结构分为key-value结构和hash结构
key-value结构进行读写
//对读写操作进行封装
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('zhangsan','boy',(err,res)=>{
if(err){
console.log(err);
return;
}
console.log(res);
})
getKey('zhangsan',(err,res)=>{
if(err){
console.log(err);
return;
}
console.log(res);
})
写入数据成功后,会输出大写的OK。
key-value结构是根据key读取value,而hash结构是根据指定存储空间的标识名读取这个空间的数据。
hash结构进行读写
function hsetAll(hash,paramarr,callback){
client.on('connect',()=>{
client.hmset(hash,...paramarr,callback);
})
}
function hgetAll(hash,callback){
client.on('connect',()=>{
client.hgetall(hash,callback);
})
}
hsetAll('list1',['jack','boy','rose','girl'],(err,res)=>{
if(err){
console.log(err);
return;
}
console.log(res);
})
hgetAll('list1',(err,res)=>{
if(err){
console.log(err);
return;
}
console.log(res);
})