redis的安装与使用
centos服务端
如果你不使用centos,那也建议rockylinux
而非almalinux
,因为后者安装的时候提示找不到此软件!
安装
使用yum安装即可
yum install redis -y
如果你非要自己下载源码去编译make,自行教程!
启动与停止
这里列出一些常用命令
systemctl start redis #启动服务
systemctl enable redis #设置开机自启
systemctl status redis #查看服务状态
redis-cli ping #如果返回 PONG,说明安装成功了!
卸载
先停止后卸载
systemctl stop redis # 停止服务
yum remove redis # 卸载
清理残留的配置文件
sudo rm -rf /etc/redis/
sudo rm -rf /var/lib/redis/
sudo rm -rf /var/log/redis/
修改配置
编辑 /etc/redis/redis.conf
,修改为以下配置项目,允许远程连接,修改后记得重启服务
bind 0.0.0.0 ::1
protected-mode no
客户端
Redis Insight
使用 electron 开发,不支持中文,是RDM的继承者,推荐使用!
navicat premium
可用 但是体验不够好,也不是主流
Koa集成
安装依赖
原本想用 koa-redis来着,后来发现 ioredis 更优秀!
npm install ioredis
封装中间件
src/middleware/redis.ts
import Redis from 'ioredis';
// 创建 Redis 实例
const redis = new Redis({
host: "66.112.211.55",
port: 6379,
db: 0
});
// 错误处理(可选)
redis.on('error', (err) => {
console.error('Redis error:', err);
});
// 最简单的 Koa 中间件
export default function redisMiddleware() {
return async (ctx, next) => {
// 挂载到 ctx 和 app.context
if (!ctx.app.context.redis) {
ctx.app.context.redis = redis; // 全局可用
}
ctx.redis = redis; // 单次请求可用
await next();
};
}
// 直接导出 Redis 实例(按需使用)
export { redis };
增加 ts 支持 src\types\koa.d.ts
import { Redis } from 'ioredis';
declare module 'koa' {
interface BaseContext {
redis: Redis;
}
}
项目中使用
mian.ts
const app = new Koa();
app.use(redis()); // 挂载 Redis(最简方式)
// 使用
app.context.redis.set('foo', 'bar');
app.context.redis.set('foo1', 'bar1', 'EX', 10*1); // 10s后过期