redix_1

Redis简介

  1. 是以key-value形式存储,和传统的数据库不一样,不一定遵循传统数据库的一些基本需求(非关系型的、分布式的、开源的、水平可扩展的)

优点###

  • 对数据高并发读写
  • 对海量数据的高效率存储和访问
  • 对数据的可扩展性和高可用性

缺点###

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

  1. redix是把数据放到内存中进行读写,比如mysql/oracle是把数据放到硬盘中进行读写.
  2. 显然内存读写操作高于硬盘读写操作

  • 扩展性: 比如说有三台服务器如下图


比如我的主服务器上有一个硬盘存放着业务数据,有几个G或者更大,那么从服务器一定是和主服务器一样的 ,也就是说三个节点下的数据是相同的(节点:一台机器称为一个节点)

如果一个用户在执行读的情况下去并发着访问三台机器中的一台(这都是可以的)

那么可扩展性是:比如说,主服务器的数据不断增加,没有空间了怎么办??

扩展性分两种:

水平扩展因为三台机器称为一个集群:往集群里新加一台机器

垂直扩展 比如说主服务器就1G的固态硬盘,在本机器上在加1G


  • 高可用性:

比如说主节点挂掉(由于网络原因或者硬件故障),导致不可用,那么对应着下面的从节点也会导致不可用,也就是说我的主节点挂掉,我整个的redix服务将会挂掉。

增加主节点,如果主节点挂掉,我们可以切换一台主节点,那么主节点下面另外的从节点也会换到另外一个主节点(如上图),如果后期修复好了,还可以加入继续使用,这就是高可用性

  • 可靠性: 也就是数据不会丢失,因为redix是把数据放到内存当中的,当服务器断电或者重启,那么内存里的数据一定会丢失,那么唯一一个办法就是把数据同步到到这台机器的硬盘上,才能保证数据不丢失。

Redix是以key-value store存储的,data structrue service 数据结构服务器。键可以包含:String字符串,哈希,(list)链表,set(集合)zset(有序集合 )这些数据集合都支持push/pop、add/remove及取交集和并集以及更丰富的操作,redix支持各种不同的方式排序,为了保证效率,数据都是缓存在内存中,它也可以周期性的把更新的数据写入磁盘或者把修改操作写入追加到文件

其实Redix做持久化就2种, 一种是RDB 可以周期性的把内存的数据同步到这台机器所在的硬盘上,比如说没每隔5秒钟,还有一种AOF相当于oracle的undo,把持久化的操作写到日志里。(实际工作中都会使用AOF)


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 分布式系统面临的第一个问题就是数据分布,即将数据均匀地分布到多个存储节点。另外,为了保证可靠性和可用性,需要将数据...
    olostin阅读 10,249评论 2 26
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,587评论 11 349
  • 从各个角度总结了电商平台中的架构实践,由于时间仓促,定了个初稿,待补充完善,欢迎大家一起交流。 转载请声明出处:h...
    Maggie编程去阅读 5,513评论 0 9
  • 一、 设计理念 1.空间换时间 1)多级缓存,静态化 客户端页面缓存(http header中包含Expires/...
    零一间阅读 5,544评论 0 13
  • 声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互...
    凯哥学堂阅读 3,483评论 0 0

友情链接更多精彩内容