zoukankan      html  css  js  c++  java
  • Redis 扫盲

    Redis扫盲

    非关系型数据库分类:

    • 键值存储数据库:主要会使用到一个 Hash 表,这个表有一个特定的键和一个指针指向特定的数据,Redis
    • 列存储数据库:应对分布式存储的海量数据,键仍然存在,但是他们的特点指向了多个列,HBase
    • 文档型数据库:数据模型是版本化的文档,半结构化的文档以特定的格式存储,文档型数据库可以看作是键值数据库的升级版,允许之间嵌套键值,比键值数据库的查询效率更高,MangoDB
    • 图形数据库:使用灵活的图形模型,扩展到多个服务器

    非关系型数据库特点:

    • 数据模型比较简单
    • 灵活性更强
    • 对数据库性能要求更高
    • 不需要高度的数据一致性
    • 对于给定 Key,比较容易映射复杂的环境

    Redis简介:

    优点:

    • 以 Key-Value 形式存储
    • 对数据高并发读写
    • 海量数据的高效存储和访问
    • 数据的可扩展性高可用性

    缺点:

    • redis (ACID处理非常简单)
    • 无法做到太复杂的关系数据库模型

    数据结构:

    • String,哈希,链表,集合,有序集合
    • 为了保证持久化数据不丢失,
    • RDB,周期性的把内存的数据,刷到硬盘上
    • AOF,实时记录日志

    可扩展性分析:

    • 一般都是主从服务器,主服务器可读可写,从服务器只读
    • 扩展性分为垂直扩展水平扩展
    • 水平扩展:主服务器上再扩展多台机器
    • 水平扩展:主服务器的硬件配置提升

    高可用性分析:

    • 单主节点挂掉,系统就会瘫痪
    • 防止主节点崩溃,可以同时并行运行多个主节点,作为替补

    可靠性分析:

    • 可靠性,无论什么情况,数据不丢失
    • 防止数据丢失,同步数据到硬盘

    Redis 应用三种形式:

    • 主从
      • 一台节点读写,两台可读
    • 哨兵
      • 可能会衍生出来一个节点,去监控其他机器的状况
      • 会在从节点中选出一个主节点
    • 集群
      • 支持多主多从,实现高可用
      • 水平扩容,可以添加主从节点

    Redis 和 Memcache 区别

    • Redis 为串行,Memcache 并行
    • Redis 主要强调为多实例,群狼战猛虎
    • 把数据写到内存中,aof,数据高可靠,
    • 多线程写的时候,会记录日志,但是读的速度飞起

    关系型数据库和 Redis 保持一致性,使用try catch,涉及到钱压根不使用缓存,使用缓存和关系型数据库同时保存两份

  • 相关阅读:
    在oracle配置mysql数据库的dblink
    项目中非常有用并且常见的ES6语法
    原生js的容易忽略的相似点(二)
    原生js的容易忽略的相似点(一)
    json常用方法和本地存储方法
    vue-cli下面的config/index.js注解 webpack.base.conf.js注解
    vue跨域解决及打包
    js里面Object的一些方法
    vw+vh+rem响应式布局
    toast插件的简单封装(样式适用pc后台管理系统的场景)
  • 原文地址:https://www.cnblogs.com/holddie/p/7379727.html
Copyright © 2011-2022 走看看