Redis扫盲

非关系型数据库分类:

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

非关系型数据库特点:

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

Redis简介:

优点:

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

缺点:

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

数据结构:

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

可扩展性分析:

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

高可用性分析:

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

可靠性分析:

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

Redis 应用三种形式:

  • 主从

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

Redis 和 Memcache 区别

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

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

最新文章

  1. 【原】使用VirtIE6代替IE6
  2. java 跨域
  3. OAF_开发系列26_实现OAF中Java类型并发程式开发oracle.apps.fnd.cp.request(案例)
  4. CRM域用户误删恢复
  5. Web TreeView 加载级联数据
  6. 深入理解C指针之三:指针和函数
  7. Linux 命令行
  8. 这可能是把ZooKeeper概念讲的最清楚的一篇文章
  9. C# 类库中添加注释方法
  10. matplotlib图表组成元素
  11. jabRef里引用的相邻同名作者变横线
  12. 升级 Centos 6.5/6.7 的 php 版本
  13. Angular2-组件间数据传递的两种方式
  14. 请通过vim练习:vim vimtutor
  15. WinForm 应用程序禁止多个进程运行
  16. 怎么在移动端模拟pc端进行web开发调试日志
  17. 修改Oracle归档日志方法
  18. [转]Java IDE 之 IntelliJ IDEA 2017
  19. 一小时了解数据挖掘⑤数据挖掘步骤&常用的聚类、决策树和CRISP-DM概念
  20. stm32之remap

热门文章

  1. Ajax请求参数传到后台为空
  2. Luogu P2845 [USACO15DEC]Switching on the Lights 开关灯(bfs)
  3. JavaScript对象继承方式
  4. 切换默认jdk版本执行
  5. LA3211 Now or later
  6. spring源码学习之bean的加载(二)
  7. Sublime svn 安装
  8. CSP-S模拟 - 20190916
  9. Hackerrank--Ashton and String(后缀数组)
  10. 笔记本最小安装centos7 连接WiFi的方法