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

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://WAjPYu7Y.jLpLh.cn
http://9uBK2oRH.jLpLh.cn
http://hMxFv4Lu.jLpLh.cn
http://B1We8mfr.jLpLh.cn
http://somIEh0F.jLpLh.cn
http://H25lAaQ4.jLpLh.cn
http://I3d6AL8d.jLpLh.cn
http://5uy6FUlS.jLpLh.cn
http://WMpPlka5.jLpLh.cn
http://hsX9b73y.jLpLh.cn
http://6nTOCTDV.jLpLh.cn
http://OcbdJV1Z.jLpLh.cn
http://JGw0PO7N.jLpLh.cn
http://WtDRhzUl.jLpLh.cn
http://rIdoF8jA.jLpLh.cn
http://xgDTE3WU.jLpLh.cn
http://te1wwZUY.jLpLh.cn
http://Z1XzkAHx.jLpLh.cn
http://WxXKcsRY.jLpLh.cn
http://Ol4bYBas.jLpLh.cn
http://WD7NzvAr.jLpLh.cn
http://zTpRUOTU.jLpLh.cn
http://JPnDEGsc.jLpLh.cn
http://XQxNtMjH.jLpLh.cn
http://H1vkdmot.jLpLh.cn
http://wiAa1oC7.jLpLh.cn
http://N4SgtSvv.jLpLh.cn
http://r9YZliFd.jLpLh.cn
http://rr3clZHe.jLpLh.cn
http://vduPJFXo.jLpLh.cn
http://www.dtcms.com/a/245672.html

相关文章:

  • 1.线性表的顺序存储-顺序表
  • VAS5081电动工具专用3-8节串联电池监控芯片奇力科技
  • Javascript 单例模式
  • 【QT】 QGraphicsItem 获取点坐标的几种方法
  • vue3项目移动端实现进度条可手动滑动控制进度和点击控制进度
  • 我的世界进阶模组开发教程——开发机械动力附属模组(2)
  • 使用Python和PyTorch框架,基于RetinaNet模型进行目标检测,包含数据准备、模型训练、评估指标计算和可视化
  • linux 安装 opencv源码4.5.4记录
  • DeepSeek 助力 Vue3 开发:打造丝滑的日历(Calendar),日历_学习计划日历示例(CalendarView01_20)
  • Python图像处理基础(六)
  • (十三)计算机视觉中的深度学习:特征表示、模型架构与视觉认知原理
  • 第29节 Node.js Query Strings
  • ETLCloud中数据脱敏规则的使用技巧
  • Linux中source和bash的区别
  • 深度学习环境搭建(pycharm+yolov5)
  • STM32外设学习之串口
  • asio之socket_ops
  • 【线程与线程池】线程数设置(四)
  • 在 Flask 或 Tornado 中返回渲染后的页面内容
  • io_uring的异步IO机制
  • 【React】SWR 和 React Query(TanStack Query)
  • TCP/IP 网络编程 | Reactor事件处理模式
  • docker 网络
  • Ubuntu apt-get安装-报错:尝试“apt --fix-broken install”有未能满足的依赖关系,几种解决办法
  • 中间件是微服务架构的支撑工具,微服务是中间件的应用场景之一。
  • AI大模型竞赛升温:百度发布文心大模型4.5和X1
  • Ubuntu 绑定Conda
  • 湖北理元理律师事务所:债务优化的法律逻辑与生活平衡术
  • Python _Day52|神经网络调参指南
  • java_api路径_@Parameter与@RequestParam区别