• 从官方文档看Redis


    一.核心能力

    Redis

    1.In-memory data structures 内存数据结构

    Redis以"键值对" 的方式来存储数据, 是一种"非关系型数据库"

    ps: MySQL以"表"的方式来存储数据, 是一种"关系型数据库"

    2.Programmability 可编程性

    Redis可以用脚本(Lua)来执行一些操作  (也可以直接执行一些简单交互式命令)

    3.Extensibility 可扩展性

    通过 C, C++, Rust这几个语言来编写Redis扩展

    很好理解~就是虽然有很好用的功能,但是还是不合心意~那就自己搞出一个更匹配的咯

    4.Persistence 持久性

    Redis存在内存上~但是呢,数据很容易丢吖~比如突然程序关闭什么的

    所以,Redis在硬盘上也存了一份数据, 内存为主,硬盘为辅~~ 若果真没了,就拿硬盘的数据顶上

    5.Clustering 集群

    水平可扩展性~

    我们说了~Redis存内存上,但是内存空间小啊~引入了分布式,多台主机~~所以在多个主机部署多个Redis节点,每个节点存一部分数据(yep,是很像我们之前说的分库分表~)

    6.High availability 高可用性

    或者说备份~~就是,结合一下4,丢了内存主数据,就让硬盘从数据直接顶上 -> 系统可用性提升

    二.应用场景

    这个也可以说是,展开说说Redis用来干嘛的~~比如,我们上篇文章谈到的,用为数据库,缓存,消息队列

    1.Real-time data store 实时数据存储

    就是相当于一个低延迟和高吞吐量的数据库咯~~比如搜索这方面~响应要很快(结合核心功能想)~就可以用Redis

    敲黑板~~这里的Redis要存所有数据,不可以随便丢失数据

    2.Caching & session storage 缓存和会话存储

    会话缓存-> 我们之前谈这个就要说说 cookie,session~ 有了他们才能确认身份,不重复进行一些验证操作

    但是,现在搞成了分布式,多台应用是服务器~谁知道负载因子把用户请求分配到哪台上?这就说明 , 每一次都要验证->天啊,我已经烦躁了,但是我却没遇到这种情况 所以,必然有了解决方案的!

    i)让负载因子把同一个用户请求,打在同一个机器上(不能利用之前说的"轮询"了, 要用useId 比如~五台应用服务器,那就%5 根据余数看,扔哪台)

    ii)用Redis, 将这些会话数据放在一台独立机器上存储~~ 这样应用服务器就可以再去这上面找咯~

    缓存->辅助MySQL, 因为它慢 so我们利用二八原则(就是数据很多,但高频需要之占十分之二), 将那十分之二存Redis上~

    敲黑板~~这里的Redis只是一个辅助加速,丢了也无所谓,因为MySQL里面存了所有数据

    3.Streaming & messaging 流媒体和消息传递

    就是它的初心啦~消息队列(可惜,它火不是因为这个~~, 毕竟优秀的消息队列很多~比如RabbitMQ, Kafka....)

    消息队列 =>实现: 生产者消费者模型 => 好处: 解耦合, 削峰填谷(不易因为抗压不行而崩溃~~这个我介绍过的~)

    三.Redis为什么快

    okkk~~说完这几个 其实还有一个问题 就是 Redis快! 那具体我们只知道是因为在内存,so 还有没有别的原因?

    1.核心功能都是简单逻辑 (就是存个数据)(不像MySQL,又是外键,又是索引........)

    2.使用单线程(逻辑简单~so也不占太多CPU->不用多线程反而快了,节省一些开销)

    3.IO多路复用(epoll) (一个线程管多个socket)

    四.小结

    我们现在已经了解了

    Redis 内存数据 很快 分布式 和新特性 应用方面

    话说得好 手下见真章 我们去用用~~

  • 相关阅读:
    Chapter 02 - Let's Get Started(C#篇)
    element的表单校验正常手机号码以及输入框填写“不详”的情况
    MAX/MSP SDK学习03:Atoms and Messages的使用
    Shell第四章《正则表达式》
    ASP.NET二手商品交易系统VS开发sqlserver数据库web结构c#编程计算机网页目
    《金字塔原理》阅读笔记
    安卓APP抓包环境配置
    c++ 中struct和class
    抖音返利分销模式及代理系统开发
    2019史上最全java面试题题库大全800题含答案
  • 原文地址:https://blog.csdn.net/m0_63501066/article/details/132809105