「这是我参与11月更文挑战的第3天,活动详情查看:2021最后一次更文挑战」
什么是redios
redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库。
优点
- 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
- 丰富的数据类型–Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作
- 原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
- 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。
- Redis是提供单线程方式提供服务
- Redis支持主从复制功能
使用场景:
- 缓存——热数据
- 分布式锁与单线程机制
- 队列
- 排行榜
安装
1,下载redios redis.io/download
2, 也可以双击打开解压 也可以通过命令行方式解压: 解压:tar -zvxf mongodb-macos-x86_64-4.2.1.tgz 将解压后的文件夹放到 /usr/local目录下
tar -zxvf mongodb-macos-x86_64-4.2.1.tgz
3,编译测试:接下来在终端中切换到/usr/local/redis目录下,输入:sudo make test
编译安装:在终端中输入命令:sudo make install
4,启动Redis,输入命令redis-server
5, 设置key
SET key value
6, 读取key
常用命令
文档:redisdoc.com/internal/in…
- redis-server 启动redis 进程
- 查看redis服务进程 我们可以通过下面命令查看redis是否正在运行
ps axu | grep redis
nodejs 链接 redis
这里我们使用引入ioredis
// 引入ioredis
const Redis = require(‘ioredis’);
// 连接redis
const client = new Redis({
port:‘xxxx’, // 端口号
host:‘xxx.xxx.xxx.xx’, // ip地址
password: ‘xxxxxxxxx’, // redis连接密码
db: ‘xx’, // redis分片(如果该redis是多个项目共用,建议使用分片区分,防止数据污染)
});
redis 读取数据
参数说明: key: 存入redis的秘钥
client.get(key, function (err, data) {
console.log(err,data)
})
redis 写入数据
参数说明:
- key: 存入redis的秘钥(需要注意这块不能跟其他key重复,否则会覆盖之前数据)
- data: 存入redis的数据(redis不支持存入对象,在存和取的时候一定要对数据做相关处理)
client.set(key, data);
redis 数据存储时间
参数说明:
- key: 存入redis的秘钥
- time: 相关数据存入redis的缓存时间 单位/秒
client.expire(key, time);