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 格式可以确保数据在不同系统之间的兼容性。
热门推荐
如何分析和理解股票市场的量能?这些数据对投资决策和市场趋势有什么参考价值?
一人有限公司和多人有限公司有什么区别
网络安全技术岗位职责7篇
塔罗牌占卜新手入门牌阵有哪些?
“最牛中专生”究竟能不能考浙大?江苏省教育部门:成绩够,考清华北大都可以
这届年轻人的工牌都有种淡淡的疯感……00后:很内向,只敢在工位野
2025年注册会计师考试时间及科目安排公布!考试难度将有这些变化
安全乘坐电梯注意事项:一份详尽的乘客指南
解决台式电脑无法上网:网络设置、硬件故障、驱动程序问题全攻略
东莞市中考科目及各科分数
怎样鉴别手机是不是原封新机,以一加Ace3Pro为例
眼睛冒“血”,别紧张,来看看这篇
买房的总价如何计算?这种计算方法对购房者有哪些具体影响?
【全国高血压日】居家测血压5步法:轻松掌握血压测量技巧
千禧西红柿定植起垄覆膜技术详解:土壤类型与垄高要求
这只最古老的鸟改写了鸟类演化史!恐龙和鸟到底是啥关系?
白鹤时鸣•法说红楼⑲丨《红楼梦》与清代人口买卖
最新研究证实:根除幽门螺杆菌可降低14%胃癌风险
弗雷拉纳标准品018
十二本高口碑现实题材小说合集,看惯常规爽文的书友不要错过!
五联疫苗可以减少多少针
英国有多少口音
让传统民俗“活”在现代的生活中
植物神经紊乱:补充这些维生素,为健康 “充电”
缺乏维生素B1?这些食物帮你轻松补充
关于拔罐的这些说法,你可能都错了
红烧牛肉是牛腩好还是雪花好
合同诈骗罪是什么:法律定义、构成要件及刑事责任分析
垃圾焚烧厂应急预案演练指南
宠物“黏菌”是啥?饲养它需要注意什么?