当前位置: 首页 > article >正文

Redis安装配置及基本使用(保姆级安装教程非常耐用)

 Redis安装包:https://pan.baidu.com/s/1bAQnvTxcUw-owdWHQ2xBHg?pwd=wjl6 

 提取码:wjl6

Redis可视化工具安装包:https://pan.baidu.com/s/1Hi6daVeYOHThrDDlvtfkIQ?pwd=wjl6

提取码:wjl6 

Redis 介绍

Redis(Remote Dictionary Server)是一个开源的高性能键值存储数据库,广泛用于缓存和数据存储。它支持多种数据结构,包括字符串、哈希、列表、集合、有序集合、位图、超日志、地理空间索引等。Redis 的数据存储在内存中,使其具有极快的读写速度,并且可以将数据持久化到磁盘。

Redis 的主要特点包括:

  • 高性能: Redis 能够处理每秒数百万的请求,读写延迟通常在微秒级别。
  • 持久化: Redis 可以将数据持久化到磁盘,以防数据丢失。支持 RDB 快照和 AOF(Append Only File)持久化机制。
  • 支持多种数据结构: 除了简单的键值对,Redis 还支持复杂的数据结构,如列表、集合和哈希等。
  • 原子操作: Redis 提供对数据的原子操作,确保数据一致性。
  • 主从复制: Redis 支持主从复制,允许数据在多个实例之间进行复制,以实现高可用性和负载均衡。
  • 分布式: Redis Cluster 提供了自动分片和高可用性,使 Redis 可以在多个节点之间分布数据。

Redis 的优点

  1. 高性能: Redis 在内存中操作数据,读写速度极快,适合对性能要求高的应用场景。

  2. 丰富的数据结构: Redis 支持多种数据结构,开发者可以根据需求选择合适的数据类型,灵活性高。

  3. 持久化机制: Redis 提供多种持久化策略,可以满足不同的应用需求。

  4. 简单易用: Redis 的命令集简单易懂,开发者可以快速上手。

  5. 高可用性: 通过主从复制和 Redis Sentinel,Redis 能够实现高可用性和故障转移。

  6. 社区支持: Redis 拥有活跃的社区和丰富的生态系统,提供了大量的客户端库和工具。

Redis 的应用场景

  1. 缓存: Redis 常被用作缓存层,减少数据库的访问压力,提升应用的响应速度。例如,缓存用户会话、网页内容、数据库查询结果等。

  2. 实时数据分析: 由于其高性能,Redis 适合用于实时分析和监控系统,如实时统计、数据流处理等。

  3. 排行榜和计数器: Redis 的有序集合和原子操作使其非常适合用于实现排行榜、投票系统和计数器等功能。

  4. 消息队列: Redis 的列表数据结构可以用作简单的消息队列,支持发布/订阅模式,适用于任务调度和异步处理。

  5. 会话存储: Redis 常用于存储用户会话信息,支持快速读取和更新。

  6. 地理位置服务: Redis 提供的地理空间索引支持可以用于位置相关的应用,如查找附近的商家、用户位置等。

  7. 实时聊天系统: 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在后端nodejs中的使用

依然是下载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 字符串。原因如下:

  1. 数据格式: Redis 是键值存储系统,支持的值类型主要是字符串。通过 JSON.stringify,可以将复杂的数据结构(如对象和数组)转换为字符串格式,以便存储。

  2. 保持数据结构: 使用 JSON 字符串可以在读取数据时恢复原始的数据结构。通过 JSON.parse,可以将字符串转换回 JavaScript 对象。

  3. 兼容性: JSON 是一种轻量级的数据交换格式,广泛支持于各种编程语言。使用 JSON 格式可以确保数据在不同系统之间的兼容性。


http://www.kler.cn/a/383501.html

相关文章:

  • 不愧是阿里巴巴最新开源的Java面试笔记,30万字精华总结 + 面试1300问附答案整理
  • 解锁炎症和肿瘤免疫治疗新靶点:TREM1&TREM2
  • 群控系统服务端开发模式-应用开发-上传工厂开发
  • 第11章 LAMP架构企业实战
  • 05LangChain实战课 - 提示工程与FewShotPromptTemplate的应用
  • 【设计模式系列】桥接模式(十三)
  • 【云原生开发】K8S多集群资源管理平台架构设计
  • 【静态页面】尚品汇 1、设计稿分析及资源准备
  • Nginx 在中小企业的初级应用实操指南
  • 【HCIP园区网综合拓扑实验】配置步骤与详解(未施工完,持续更新中)
  • git撤销commit和add
  • 【YOLO学习】YOLOv8改进举例
  • 深入理解Java虚拟机(JVM):从基础到实战
  • 【p2p、分布式,区块链笔记 Torrent】WebTorrent bittorrent-dht DHT的构造+lookup+announce
  • 领克双十一营销设计:视觉与策略的完美融合
  • Flutter 鸿蒙next中的 Stack 和 Positioned 用法详解
  • 算法练习:1004. 最大连续1的个数 III
  • 基于SSM+VUE守护萌宠宠物网站JAVA|VUE|Springboot计算机毕业设计源代码+数据库+LW文档+开题报告+答辩稿+部署教+代码讲解
  • ORACLE 19C 安装数据库补丁的详细过程
  • 利用全排列解决LeetCode第3343题“统计平衡排列的数目”问题
  • 【Java SE语法】抽象类(abstract class)和接口(interface)有什么异同?
  • 一个国产 API 开源项目,在 ProductHunt 杀疯了...
  • 【HarmonyOS】引导用户跳转APP设置详情页开启权限
  • AI预测体彩排3采取888=3策略+和值012路+胆码+通杀1码测试11月7日升级新模型预测第127弹
  • AI在创造还是毁掉音乐?
  • Vue 指令