Redis安装配置及基本使用教程
创作时间:
作者:
@小白创作中心
Redis安装配置及基本使用教程
引用
CSDN
1.
https://blog.csdn.net/m0_59365887/article/details/143592686
Redis介绍
Redis(Remote Dictionary Server)是一个开源的高性能键值存储数据库,广泛用于缓存和数据存储。它支持多种数据结构,包括字符串、哈希、列表、集合、有序集合、位图、超日志、地理空间索引等。Redis 的数据存储在内存中,使其具有极快的读写速度,并且可以将数据持久化到磁盘。
Redis的主要特点包括:
- 高性能: Redis 能够处理每秒数百万的请求,读写延迟通常在微秒级别。
- 持久化: Redis 可以将数据持久化到磁盘,以防数据丢失。支持 RDB 快照和 AOF(Append Only File)持久化机制。
- 支持多种数据结构: 除了简单的键值对,Redis 还支持复杂的数据结构,如列表、集合和哈希等。
- 原子操作: Redis 提供对数据的原子操作,确保数据一致性。
- 主从复制: Redis 支持主从复制,允许数据在多个实例之间进行复制,以实现高可用性和负载均衡。
- 分布式: Redis Cluster 提供了自动分片和高可用性,使 Redis 可以在多个节点之间分布数据。
Redis的优点
- 高性能: Redis 在内存中操作数据,读写速度极快,适合对性能要求高的应用场景。
- 丰富的数据结构: Redis 支持多种数据结构,开发者可以根据需求选择合适的数据类型,灵活性高。
- 持久化机制: Redis 提供多种持久化策略,可以满足不同的应用需求。
- 简单易用: Redis 的命令集简单易懂,开发者可以快速上手。
- 高可用性: 通过主从复制和 Redis Sentinel,Redis 能够实现高可用性和故障转移。
- 社区支持: Redis 拥有活跃的社区和丰富的生态系统,提供了大量的客户端库和工具。
Redis的应用场景
- 缓存: Redis 常被用作缓存层,减少数据库的访问压力,提升应用的响应速度。例如,缓存用户会话、网页内容、数据库查询结果等。
- 实时数据分析: 由于其高性能,Redis 适合用于实时分析和监控系统,如实时统计、数据流处理等。
- 排行榜和计数器: Redis 的有序集合和原子操作使其非常适合用于实现排行榜、投票系统和计数器等功能。
- 消息队列: Redis 的列表数据结构可以用作简单的消息队列,支持发布/订阅模式,适用于任务调度和异步处理。
- 会话存储: Redis 常用于存储用户会话信息,支持快速读取和更新。
- 地理位置服务: Redis 提供的地理空间索引支持可以用于位置相关的应用,如查找附近的商家、用户位置等。
- 实时聊天系统: Redis 可以用于实现实时聊天应用的消息存储和分发。
Redis安装流程
首先下载Redis安装包,双击打开点运行
之后点击Next
然后勾选用户协议 ,点击Next
接下来显示以下页面,选择你要安装的位置,注意文件夹名为英文,并且勾选 Add the Redis installation folder to the PATH environment variable.(自动添加环境变量)
这一步默认6379端口号即可
接下来,更改最大内存为500MB,点击Next
最后点击Install即可
安装完成之后等待即可,最后点击Finish
进入redis安装目录找到配置文件,注意是redis.windows-service.conf,不是redis.windows.conf,后者是以非系统服务方式启动程序使用的配置文件。右击记事本打开redis.windows-service.conf文件
在配置文件中,找到requirepass foobared字样,在其后面追加一行,输入requirepass 123456。这是访问Redis时所需的密码,一般测试情况下可以不用设定密码。不过,即使是作为本地访问,也建议设定一个密码。此处以简单的123456来演示,然后保存退出。
进入计算机服务中(右键此电脑-->管理-->服务和应用程序-->服务),再在右侧找到Redis名称的服务,查看启动情况。如未启动,则手动启动之。正常情况下,服务应该正常启动并运行了,但是因为前面修改过配置文件,需要重启服务,切记
测试一下redis能否正常工作。在安装redis的文件夹的地址栏输入cmd
输入redis-cli并回车(redis-cli是客户端程序)如图正常提示进入,并显示正确端口号,则表示服务已经启动。
使用服务前需要先通过密码验证。输入“auth 123456”并回车(123456是之前设定的密码)。返回提示OK表示验证通过。
然后再验证set和get。一切正常,就成功了!
Redis可视化工具
双击运行工具安装包,点击Next
点击I Agree
这里自定义安装路径,之后点击Install
最后等到安装完成即可,点击Finish
进入工具之后 连接到Redis服务器,name随便叫,host为127.0.0.1,密码是上面文件中我们设置的密码,点击第五步尝试连接出现以下提示就成功了!!!
显示以下页面就完全成功了
Redis在后端Node.js中的使用
依然是下载redis依赖,配置链接路径
const { createClient } = require('redis')
const client = createClient({
url: 'redis://:123456@127.0.0.1:6379'
})
client.connect().then(() => {
console.log('Redis已成功连接')
}).catch(err => { console.log('Redis连接失败:', err) })
module.exports = client
下面看一下简单的接口
var express = require('express');
var router = express.Router();
let client = require('../model/db');
/* GET home page. */
router.get('/', function (req, res, next) {
res.render('index', { title: 'Express' });
});
// 添加用户数据
router.post('/add', async(req, res) => {
let userData = JSON.stringify(req.body);
await client.rPush('userData', userData)
res.send({
code: 200,
message: '添加成功',
});
});
// 获取用户数据
router.get('/get', async(req, res) => {
const data = await client.lRange('userData', 0, -1)
const users = data.map(user =>JSON.parse(user))
res.send({
code: 200,
data: users
})
});
router.delete('/delname',async(req,res)=>{
let {name} = req.query
console.log(name);
let data = await client.lRange('userData', 0, -1)
let users = data.map(user =>JSON.parse(user))
let index = users.findIndex(user=>user.name===name)
if (index === -1) {
return res.send({
code: 404,
message: '该用户不存在'
})
}
await client.lRem('userData', 2, JSON.stringify(users[index]))
res.send({
code: 200,
message: '删除成功'
})
})
module.exports = router;
在将数据存储到 Redis 之前,通常需要使用 JSON.stringify 将 JavaScript 对象转换为 JSON 字符串。原因如下:
- 数据格式: Redis 是键值存储系统,支持的值类型主要是字符串。通过
JSON.stringify,可以将复杂的数据结构(如对象和数组)转换为字符串格式,以便存储。 - 保持数据结构: 使用 JSON 字符串可以在读取数据时恢复原始的数据结构。通过
JSON.parse,可以将字符串转换回 JavaScript 对象。 - 兼容性: JSON 是一种轻量级的数据交换格式,广泛支持于各种编程语言。使用 JSON 格式可以确保数据在不同系统之间的兼容性。
热门推荐
高情商的人,说话都有一个特点
成年人饭局,聊聊一些实用的买单技巧
黄芪加一物,益气又活血,赶走冠心病
黑附子(黑顺片):附子炮制品的临床应用与用药安全
图集|高“颜值”,高效率!大湾区的机场纷纷“爆改”
春运小贴士|进出白云机场交通攻略
珠海金湾机场指南:交通方式及设施小贴士
相机镜头滤光片有哪些不同种类?在摄影中是如何使用的?
从港式腊味到客家发粿:全国及大湾区春节送礼指南
MBR膜在污水处理领域的四大应用
MBR技术在污水处理中的创新应用
Keil开发必备:自动化生成带版本信息的Hex文件
揭秘HEX文件:MCU编程的秘密武器
攀枝花市再次刷新了我的认知,真真是一个非常包容的城市!
夏日四川:攀枝花的阳光与温泉
攀枝花“胖豹”走红背后的尴尬
预应力T梁桥的那些坑,你避开了几个?
世界之最:培森柳江特大桥的创新与突破
PET/CT在乳腺癌中的应用:从诊断到治疗监测
125万账号被处置,小红书封号行动引发用户质疑
小红书大规模封号引争议,平台整治黑灰产需平衡用户权益
健康科普 | 发现肺癌,为什么要做PET/CT?
赵孟頫与王冕:印章艺术的双璧
孙素梅教你鉴藏印艺术品投资
鉴藏印:文物鉴定的秘密武器
鉴藏章的正确打开方式,你get了吗?
抗胰腺癌的10种中药,分享给您
甘肃腊子口:红军长征突破天险的红色地标
红军智取腊子口,突破长征最后一关
悬崖偷袭破敌阵,红军攻克腊子口