IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> redis 和 mysql 的区别 -> 正文阅读

[大数据]redis 和 mysql 的区别

经常听到后端同事谈论 mysql 和 redis 等不同的数据库,可能一个项目中需要多个数据库来处理。

作为前端开发人员,我们不需要细致掌握不同数据库的详细知识,所以这里简单整理和基本的概念逻辑,以及这两个数据库的关系,分别适应什么场景等等。

在这里插入图片描述

mysql 哪些情况下不适用?

1、当大量请求时(高并发,分布式集群),mysql 可能挡不住大量的并发请求,造成响应延迟或者宕机

2、当请求重复数据时(不经常变化的数据),频繁访问 mysql造成性能浪费。

这两种情况下,mysql 无法满足需求,所以有了 redis。

redis 为什么可以解决这些问题?

redis 对 mysql 的数据做了一个缓存。

1、当大量请求时,直接在 Redis 上进行数据读写,没有对 mysql 进行任何操作,这样速度大大提升。当高速读写任务结束后,再一次性写入数据库持久层(目前是30分钟),然后再同步更新缓存,这样保证了效率和数据一致性。

2、当请求数据重复时,首次加载需要从 mysql 中获取,再次大量请求时,直接从 Redis 中获取即可,不需要访问 mysql,这样可以节省性能。

在这里插入图片描述

redis 的基本概念

Redis 引入NoSQL技术,这是一种基于内存的数据库,并且提供一定的持久化功能。

Redis和MongoDB是当前使用最广泛的NoSQL,而就Redis技术而言,它的性能十分优越,可以支持每秒十几万此的读/写操作,其性能远超数据库,并且还支持集群、分布式、主从同步等配置,原则上可以无限扩展,让更多的数据存储在内存中,更让人欣慰的是它还支持一定的事务能力,这保证了高并发的场景下数据的安全和一致性。

  • 存储缓存用的数据;
  • 需要高速读/写的场合使用它快速读/写;

Redis 下载安装到宿主机

从官网下载安装包 https://redis.io/download,或者使用 wget 命令下载

Download, extract and compile Redis with:

wget https://download.redis.io/releases/redis-6.2.5.tar.gz
tar xzf redis-6.2.5.tar.gz
cd redis-6.2.5
make

The binaries that are now compiled are available in the src directory. Run Redis with:

src/redis-server

You can interact with Redis using the built-in client:

src/redis-cli
redis> set foo bar
OK
redis> get foo
"bar"

注1:mac 需要在 usr/local 目录下进行解压安装,需要 sudo 命令

注2:如果 make 执行报错 xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun,说明缺少 XCode软件,在终端执行 xcode-select --install 并安装。可能宿主机中可能有 redis,建议在 docker 内部安装 redis 镜像,这样不同版本不会干扰。

Redis 下载安装到docker

参考链接:https://www.runoob.com/docker/docker-install-redis.html

1、查看镜像 docker search redis

2、拉取镜像 docker pull redis:latest 需要1分钟。拉取镜像后,运行 docker images 查看是否下载

3、创建容器 docker run -itd --name test-Michael-redis --port 6379:6379 redis 这里自定义了容器的名称,端口映射到 6379,运行 docker ps 检查容器是否创建好

4、进入容器 docker exec -it test-Michael-redis bash

5、进入 redis,执行 redis-cli 进入内部,使用 set get 获取数据(也可以通过可视化的TablePlus进行操作,注意端口号,具体使用参考:https://blog.csdn.net/weixin_41697143/article/details/119904196)

6、使用 exit 退出容器,docker stop docker-container-ID 关闭当前容器

nodeJS 和 Redis 的连接

很多教程中都是 Spring 和 Redis 的资料,我这里简单写一下 nodeJS 和 redis 的连接,详情参考 redis 官方网站

本地需要先启动 redis,然后新建一个 test.js 文件,并安装依赖 npm install redis

var redis = require('redis'),
    config = require('../config'),
    dbConfig = config.redis,
    RDS_PORT = dbConfig.port,     //端口号
    RDS_HOST = dbConfig.host,     //服务器IP
    RDS_PWD = dbConfig.pass,      //密码
    RDS_OPTS = {auth_pass: RDS_PWD},
    client = redis.createClient(RDS_PORT, RDS_HOST, RDS_OPTS);

// 事件触发回调函数
client.on('ready',function(res){
  console.log('ready');
});

client.on('end',function(err){
  console.log('end');
});

client.on('error', function (err) {
  console.log(err);
});

client.on('connect',function(){
  console.log('redis connect success!');
});

// 更改数据、获取数据(第三个参数是回调函数)
client.set("key", "value", redis.print);

client.get("key", redis.print);

详情参考链接

https://www.npmjs.com/package/redis

我的个人博客

CSDN链接

CSDN链接

总结:redis 适合做缓存,高并发的请求处理

mysql 和 redis

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-09-04 01:18:22  更:2022-09-04 01:19:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 10:47:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码