欢迎进入万兴电子官网
购物车图片 我的购物车 ( )

为什么说Redis是单线程的以及Redis为什么这么快?

发布时间: 2019-03-12
浏览次数: 3

一、前言
      近乎所有与Java相关的面试都会问到缓存的问题,基础一点的会问到什么是“二八定律”、什么是“热数据和冷数据”,复杂一点的会问到缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题,这些看似不常见的概念,都与我们的缓存服务器相关,一般常用的缓存服务器有Redis、Memcached等,而笔者目前最常用的也只有Redis这一种。
      如果你在以前面试的时候还没有遇到过面试官问你《为什么说Redis是单线程的以及Redis为什么这么快!》,那么你看到这篇文章的时候,你应该觉得是一件很幸运的事情!如果你刚好是一位高逼格的面试官,你也可以拿这道题去面试对面“望穿秋水”般的小伙伴,测试一下他的掌握程度。
      好啦!步入正题!我们先探讨一下Redis是什么,Redis为什么这么快、然后在探讨一下为什么Redis是单线程的?
      二、Redis简介
      Redis是一个开源的内存中的数据结构存储系统,它可以用作:数据库、缓存和消息中间件。
      它支持多种类型的数据结构,如字符串(String),散列(Hash),列表(List),集合(Set),有序集合(Sorted Set或者是ZSet)与范围查询,Bitmaps,Hyperloglogs 和地理空间(Geospatial)索引半径查询。其中常见的数据结构类型有:String、List、Set、Hash、ZSet这5种。
      Redis 内置了复制(Replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(Transactions) 和不同级别的磁盘持久化(Persistence),并通过 Redis哨兵(Sentinel www.xucaizxyl.com)和自动分区(Cluster)提供高可用性(High Availability)。
      Redis也提供了持久化的选项,这些选项可以让用户将自己的数据保存到磁盘上面进行存储。根据实际情况,可以每隔一定时间将数据集导出到磁盘(快照),或者追加到命令日志中(AOF只追加文件),他会在执行写命令时,将被执行的写命令复制到硬盘里面。您也可以关闭持久化功能,将Redis作为一个高效的网络的缓存数据功能使用。
      Redis不使用表,他的数据库不会预定义或者强制去要求用户对Redis存储的不同数据进行关联。
      数据库的工作模式按存储方式可分为:硬盘数据库和内存数据库。Redis 将数据储存在内存里面,读写数据的时候都不会受到硬盘 I/O 速度的限制,所以速度极快。
      (1)硬盘数据库的工作模式:
      这里写图片描述
      (2)内存数据库的工作模式:
      这里写图片描述
      看完上述的描述,对于一些常见的Redis相关的面试题,是否有所认识了,例如:什么是Redis、Redis常见的数据结构类型有哪些、Redis是如何进行持久化的等。

相关推荐 More
2019 - 03 - 12
点击次数: 12
无状态:HTTP是一种不保存状态,既无状态协议。HTTP自身不对请求和响应之间的通信状态进行保存,也就是说不做持久化处理。这是为了更快处理大量事务,确保协议的可伸缩性。随着web的不断发展,无状态也导致业务处理变得棘手,比如用户登录购物网站,在跳转到该网站其他页面后也要保存登录这个状态。不然请求不知道是哪个用户发出的。因此,引入了cookie技术。持久连接:HTTP协议初始版本中,每进行一次HTTP通信就要断开一次TCP连接。随着HTTP的普及,文档包含图片的情况多了起来,如果使用浏览器浏览一个包含多张图片的HTML页面时,在发送请求访问HTML页面资源的同时,也会请求HTML页面包含的其他资源因此,每次请求都会造成无畏的TCP连接建立和断开,增加通信量的开销通过持久连接解决了上述的TCP连接问题。持久连接的特点是,只要任意一端没有明确提出断开连接,则保持TCP连接状态。请求头部字段Con...
2019 - 03 - 12
点击次数: 7
了解两个问题,什么是加密算法、为什么要使用加密。加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容。为什么要加密,保障数据的安全和完整性防止被他人篡改。1、摘要算法数据摘要算法是密码学算法中非常重要的一个分支,它通过对所有数据提取指纹信息以实现数据签名、数据完整性校验等功能,由于其不可逆性,有时候会被用做敏感信息的加密。数据摘要算法也被称为哈希(Hash)算法、散列算法。常用的摘要算法有MD5、SHA1、SHA256 , 加密后分别输出128bit、160bit、256bit。1.1 MD5--------------------- 作者:云度 来源:CSDN 原文:https://blog.csdn.net/seoyundu/article/details/88112861 ...
2019 - 03 - 12
点击次数: 11
MySQL 是一个最流行的关系型数据库,在互联网产品中应用比较广泛。一般情况下,MySQL 数据库是选择的第一方案,基本上有 80% ~ 90% 的场景都是基于 MySQL 数据库的。因为,需要关系型数据库进行管理,此外,业务存在许多事务性的操作,需要保证事务的强一致性。同时,可能还存在一些复杂的 SQL 的查询。值得注意的是,前期尽量减少表的联合查询,便于后期数据量增大的情况下,做数据库的分库分表。--------------------- 作者:weixin_33757911 来源:CSDN 原文:https://blog.csdn.net/weixin_33757911/article/details/88318634 版权声明:本文为博主原创文章,转载请附上博文链接!
2019 - 03 - 12
点击次数: 9
数据中的连接join分为内连接、自然连接、外连接,外连接又分为左外连接、右外连接、全外连接当然,这些分类都是在连接的基础上,是从两个表中记录的笛卡尔积中选取满足连接的记录。笛卡尔积简单的说就是一个表里的记录要分别和另外一个表的记录匹配为一条记录,即如果表A有3条记录,表B也有三条记录,经过笛卡尔运算之后就应该有3*3即9条记录。如下表:自然连接(natural join)自然连接是一种特殊的等值连接,他要求两个关系表中进行比较的必须是相同的属性列,无须添加连接条件,并且在结果中消除重复的属性列。sql语句:Select …… from 表1 natural join 表2结果:内连接(inner join)内连接基本与自然连接相同,不同之处在于自然连接要求是同名属性列的比较,而内连接则不要求两属性列同名,可以用using或on来指定某两列字段相同的连接条件。sql语句:Select …… ...
  • 您的姓名:
  • *
  • 公司名称:
  • *
  • 地址:
  • *
  • 电话:
  • *
  • 传真:
  • *
  • E-mail:
  • *
  • 邮政编码:
  • *
  • 留言主题:
  • *
  • 详细说明:
  • *
     
郑州市二七区祥云路1号2幢2单元1207号
0371-55030465
Copyright ©2019 - 2021 河南万兴电子科技有限公司
犀牛云提供企业云服务
X
1

QQ设置

3

积分商城

4

阿里旺旺设置

等待加载动态数据...

等待加载动态数据...

5

电话号码

  • 0371-55030465
6

二维码管理

等待加载动态数据...

等待加载动态数据...

展开