• Redis快速上手神册,17W字详解其实Redis也就那么一回事!


    开始使用Redis

    Redis是一个开源的数据库,经常被用来构建高性能的可扩展网络应用。它使用内存数据库,这使得它比其他数据库更快。

    Redis用于我们的应用程序中的短期数据。它经常被用于会话或网页头数。

    通过使用内存数据库,我们不需要有大的数据集,相反,我们使用小的数据块,让我们把数据存储在机器的内存中,而不是磁盘的内存中。
    Redis是一个键值存储,类似于我们在JavaScript中处理对象的方式。有几种语言和框架使用Redis;包括Python,以及Node.js等后端JavaScript框架。

    Redis不仅功能强大,而且稳定,理所当然地成为了大型互联网公司的首选。众多大厂在招聘的时候,不仅会要求面试者能简单地使用Redis,还要能深入地理解底层实现原理,并且具备解决常见问题的能力。可以说,熟练掌握Redis已经成为了技术人的一个必备技能。

    但是,在学习和使用Redis的过程中,总不可避免地遇见一些棘手的问题
    我根据自己多年的从业经验,梳理了一套系统的Redis学习方法。将纷繁复杂的Redis知识和问题归纳在“两大维度,三大主线”这个框架之中,帮助读者建立起系统观和全局观,从而彻底搞懂底层实现原理

    Redis简介

    • Redis与Memcached区别
    • Redis优点
    • Redis缺点

       

    Redis数据类型

    • String
    • Hash
    • List
    • Set
    • Sorted set

       

    Redis事务

    • MULTI&EXEC(原子执行,并非互斥)
    • WATCH&UNWATCH(原子执行+乐观锁)

       

    Redis分布式锁

    • 排他锁 SETNX
    • 带有超时特性的锁

       

    Redis持久化机制

    • RDB(Redis Database,全量模式)
    • AOF(Append Only File,增量模式)
    • 触发方式
    • 相互比较
    • RDB最佳策略
    • AOF最佳策略
    • Redis消息队列

       

    Redis高级数据结构

    • BitMap(String的一些其他命令)
    • 过期策略
    • 内存淘汰策略
    • 主从复制(数据是同步的,类似于MySQL Replication)
    • 哨兵 sentinel(数据是同步的)
    • 集群(数据是分片的,sharing)
    • Hash映射(并非一致性哈希,而是哈希槽)
    • 数据分片
    • 节点间通信协议——Gossip
    • 主从选举——Raft
    • 功能限制
    • 数据迁移/在线扩容
    • Codis
    • twemproxy

       

    配置文件+应用场景+Lua脚本+与DB保持一致

    Redis源码

    • 线程模型——单线程
    • RedisObject

       

    这份文档从构建一个键值数据库的关键架构入手,不仅带你建立起全局观,还帮你迅速抓住核心主线。除此之外,还会具体讲解数据结构、线程模型、网络框架、持久化、主从同步和切片集群等,帮你搞懂底层原理。相信这对于所有层次的Redis使用者都是一份非常完美的学习使用教程了

  • 相关阅读:
    UniAPP HBuilderX 运行到各个小程序开发工具
    【Vue】Element开发笔记
    vue阻止浏览器刷新,达到业务逻辑的实现,在Ts+vue中使用组件内路由守卫
    (九)mmdetection源码解读:训练过程中训练数据的调用DataLoader
    重学前端第一天——HTML结构和常见的HTML元素
    文件上传漏洞
    Oracle:常用函数CASE WHEN,DECODE,NVL,SUBSTR,listagg,instr,to_char,to_number
    【双系统】忘记Ubuntu登录密码,应该重装系统还是换新电脑?
    糖尿病患者也会低血糖?
    docker数据卷详细讲解及数据卷常用命令
  • 原文地址:https://blog.csdn.net/LBWNB_Java/article/details/128061075