这是我参与11月更文挑战的第7天,活动详情查看:2021最后一次更文挑战
安装
npm install redis
Redis程序安装后后台启动
redis-server.exe redis.windows.conf
- -h: 是指地址127.0.0.1 指的是本地ip,如果是远程的就写远程的地址
- -p: 这边是端口号默认6379,具体看个人的配置 redis.windows.conf 里面的
- -a: 密码 同上
客户端通过redis-cli来连接数据库服务器,也可以指定服务器地址和端口,或者安装可视化客户端操作Redis
redis-cli -h 127.0.0.1 -p 6380
ping // 返回PONG说明连通了
Redis数据存储基本使用
字符串
- set key value 设置key的value
- get key 得到key的value
- incr key key如果是整型自增1
- keys * 得到所有key
对Redis的封装
const config = require("../config/database")
const redis = require('redis');
function SetString(key, value, expireTime) {
const client = redis.createClient(config.RedisServer.port, config.RedisServer.host, {});
client.select(0, function () { /* ... */ });
//错误监听?
client.on("error", function (err) {
console.log("Error " + err);
});
client.set(key, JSON.stringify(value), redis.print);
expireTime && client.expire(key, expireTime);
client.quit();
}
function GetString(key) {
return new Promise((resolve, reject) => {
const client = redis.createClient(config.RedisServer.port, config.RedisServer.host, {});
client.select(0, function () { /* ... */ });
//错误监听?
client.on("error", function (err) {
console.log("Error " + err);
reject(err)
});
// This will return a JavaScript String
client.get(key, function (err, reply) {
if (err) reject(err);
resolve(JSON.parse(reply))
client.quit();
});
})
}
function GetTtl(key) {
return new Promise((resolve, reject) => {
const client = redis.createClient(config.RedisServer.port,config.RedisServer.host,{});
client.select(0, function () { /* ... */ });
//错误监听?
client.on("error", function (err) {
if (err) reject(err)
console.log("Error " + err);
});
// This will return a JavaScript String
client.ttl(key, function (err, reply) {
if (err) reject(err);
resolve(reply)
client.quit();
});
})
}
function GetPttl(key) {
return new Promise((resolve, reject) => {
const client = redis.createClient(config.RedisServer.port,config.RedisServer.host,{});
client.select(0, function () { /* ... */ });
//错误监听?
client.on("error", function (err) {
if (err) reject(err)
console.log("Error " + err);
});
client.pttl(key, function (err, reply) {
if (err) reject(err);
resolve(reply)
client.quit();
});
})
}
function isExists(key){
return new Promise((resolve,reject)=>{
const client = redis.createClient(config.RedisServer.port, config.RedisServer.host, {});
client.select(1, function () { /* ... */ });
//错误监听?
client.on("error", function (err) {
if (err) reject(err)
console.log("Error " + err);
});
client.exists(key, function (err, reply) {
if (err) reject(err);
resolve(Boolean(reply))
client.quit();
});
})
}
exports.SetString = SetString;
exports.GetString = GetString;
exports.GetTtl = GetTtl;
exports.GetPttl = GetPttl;
exports.isExists = isExists;