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

Redis初识第一期

简介

Redis刚开始开发时,是想作为一种消息队列使用的,但是后续发现它在分布式系统中大放异彩,所以就将它作为缓存使用了。

Redis是基于网络的,可以将内存中的数据共享给别的进程或者别的主机的进程使用。

Redis相较于MySQL,由于Redis是基于键值对存储数据的,这不同于MySQL使用表来存数据,所以Redis也是一种非关系型数据库。而且Redis由于是在内存上处理数据,这注定了它处理数据的能力远远快于MySQL。其次,由于“二八原则”的存在,即80%的业务场景很多时候只需要20%的数据就可以完成,所以Redis存的数据也足以应对大多数场景了。

Redis的一些特性

1.最主要的特性就是在内存中存储数据,并且使用键值对的方式进行存储数据。

2.Redis还支持使用脚本来进行批量处理操作。

3.Redis还可以使用C/C++或者Rust语言来进行扩展。

4.Redis同时也支持数据持久化,可以将内存的数据备份到磁盘上,当服务器因为重启而导致数据丢失时,Redis可以在服务器重启时将数据从磁盘上重新进行加载。

5.Redis也支持集群,可以“水平扩展”(类似于分库分表),将数据拆开存到不同主机的Redis数据库上。

6.Redis也支持“主从结构”,所谓主从结构,就是”主“主机负责写数据,并将修改的数据同步到各个“从”主机上,每个”从“主机只支持读操作。

总结:Redis为什么”快“?

1.最主要的原因是Redis在内存上存储和处理数据,而MySQL数据库是在硬盘上进行操作。

2.Redis的核心功能逻辑简单,操作”短快平“。

3.Redis采用IO多路复用(epoll),即一个线程管理多个Socket。

4.Redis处理数据是单线程处理的,对于请求是串行化处理的,这避免了因为多线程竞争而导致的开销。(但是Redis本身是多线程的,只是处理数据是单线程处理的)

5.底层实现是使用的C语言,这是相较于其语言而言,因为MySQL的底层实现也是C语言。

http://www.xdnf.cn/news/13667.html

相关文章:

  • 从0到1构建高并发秒杀系统:实战 RocketMQ 异步削峰与Redis预减库存
  • 接口测试常用工具及测试方法(基础篇)
  • 【MySQL】视图
  • 电话号码的字母组合
  • 12.ack,ACK 的区别与含义
  • 【项目实践】SMBMS(Javaweb版)(五)供应商管理模块
  • 时间同步技术在电力系统中的应用二
  • 现代建筑中空气流向管理系统SKGL的智能化趋势
  • 稳定币的监管
  • Agent应用案例精选,以及主流Agent框架开源项目推荐
  • 软件测试面试题总结【含答案】
  • 3.3.2 纠错编码(海明校验码)
  • web项目实现PWA和Browsersync的安装及使用方法
  • 锂电池3V\3.3V\3.7V升5V升压芯片,选型指南
  • 欧洲AI的崛起:Mistral推出首款逻辑推理模型Magistral,挑战美中AI霸主地位
  • UE5 学习系列(七)导入bridge资产包
  • 雷卯针对易百纳EB-SS528-DC-175开发板防雷防静电方案
  • 龙虎榜——20250611
  • 内核性能调优
  • 什么是分布式锁,及其实现
  • 洛谷 P2757 [国家集训队] 等差子序列
  • Spring | 深入解析 Spring AOP 中的AopProxyUtils.ultimateTargetClass()解决代理对象注解获取问题
  • Zero-Shot突变预测VenusREM的安装和使用
  • Office 365下载安装教程(超详细图文教程)从零开始的完整安装指南
  • python中的字符串、输入与输出、列表
  • 【更新至2024年】1992-2024年全国及各省地区生产总值、第一产业增加值、第二产业增加值、第三产业增加值、省GDP数据(无缺失)
  • MySQL:Prepared Statement 预处理语句
  • 表格里的图片链接怎么变成图片【附工具+源码演示】
  • 鴻蒙app開發中如何 使用 shift+ctrl+f 快捷搜索
  • 旋翼无人机运行要点与技术分析!