- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
什么是NoSQL?什么是Redis?
NoSQL的全称是Not-Only SQL,指的是非关系型数据库,它是关系型数据库的补充,没有表与表之间的关系,主要用于海量数据的处理问题。
Redis (REmote DIctionary Server): 是基于C 语言编写的一个开源的单线程的高性能键值对(key-value)数据库。可以用来做缓存(长久保存,且不经常变化的数据),处理即时信息(临时性的,经常变化的),解决服务器集群中session分离问题(本质还是处理即时信息)。
除了Redis,你还了解其它的NoSQL吗?
nosql数据库有很多,比如HBase、MongoDB、Memcached等,相比于其他的nosql而言,效率高,数据结构比较丰富。
MongoDB是高性能、无模式的文档型数据库(一个文档相当于关系数据库中的一条记录,格式是xml或者json等),支持二级索引,非常适合文档化格式的存储及查询。MongoDB的官方定位是通用数据库,确实和MySQL有些像,现在也很流行,但它还是有事务、join等短板,在事务、复杂查询应用下无法取代关系型数据库。但MongoDB性能使用庞大数据的查询,但不适合用于临时存储的缓存,如果将数据做缓存使用,还是Redis性能更高。
Redis是内存型Key/Value系统,读写性能非常好,支持操作原子性,很适合用来做高速缓存。
HBase存储容量大,一个表可以容纳上亿行、上百万列,可应对超大数据量要求扩展简单的需求。
2.1、redis与Memcached的区别是什么?为什么不选Memcached?
(1)memcached所有的值均是简单的字符串,且只支持k/v类型,redis作为其替代者,支持更为丰富的数据类型。
(2)
(3) redis可以持久化其数据,memcached只用做缓存提升性能,不能做持久化。
? ? (4)memcached存储数据有限制:1M 【大于1M,认为就行分割】(内存碎片) (5)memcached集群数据没有复制和同步机制(崩溃不会影响程序,会从数据库中取数据)。? (6)memcached内存不能及时回收,它只有?LRU(算法)这一种方式,而redis有多种内存回收方式。
Redis的数据类型有哪些?它的数据操作是怎么样的?
Redis有5种主要数据类型:string、hash、list(有序、可重复)、set(无序、不可重复)、zset(不可重复,基于score实现排序)
数据操作:
Redis中的数据存储方式是key-value形式;
Redis不能保存JAVA对象,需要转为JSON对象后存入Redis。
请列举几个常用的Redis指令。
Set、del、get、ping、select index(切换数据库)、keys(查询key)
Redis为什么存取速度那么快?
①完全基于内存,绝大部分请求是纯粹的内存操作,非常快速。数据存在内存中,类似于 HashMap,HashMap 的优势就是查找和操作的时间复杂度都是O(1);
②数据结构简单,对数据操作也简单,Redis 中的数据结构是专门进行设计的;
③采用单线程,避免了不必要的上下文切换和竞争条件,也不存在多进程或者多线程导致的切换而消耗 CPU,不用去考虑各种锁的问题,不存在加锁释放锁操作,没有因为可能出现死锁而导致的性能消耗;
④使用多路 I/O 复用模型,非阻塞 IO;
⑤使用底层模型不同,它们之间底层实现方式以及与客户端之间通信的应用协议不一样,Redis 直接自己构建了 VM 机制 ,因为一般的系统调用系统函数的话,会浪费一定的时间去移动和请求;
说说Redis的持久化方式有哪些?
有两种:RDB和AOF。
RDB是二进制快照形式,数据体量小,保存效率高,但丢失风险也较大,因为它是定时定量更改才会自动持久化,无法实时存储,如果在快照之前丢失,则无法找回。
AOF是过程命令形式,数据体量大(可以用AOF重写解决该问题),效率低于RDB,记录每个操作,存储格式也更复杂,但数据相对完整(最快可以每秒同步一次),且弥补了RDB不能实时存储的缺点。
6.1、AOF数据体量大,那有什么办法可以解决这个问题吗?
Redis中引入了AOF重写机制可以压缩文件体积——执行压缩命令即可。
AOF重写可以降低磁盘占用量,也能提高数据恢复效率,它会对同一数据的多条写命令合并为一条写命令,且为了防止数据量过大造成缓冲区溢出,每条指令最多为64个元素。
AOF重写其实是一个同步开启的子进程,Redis执行指令时,子进程也会开启重写,主进程会将写入的数据同步到子进程,子进程则开始重写AOF文件,写完后再返回给主进程,完成AOF重写。
选用:如果对数据非常敏感用AOF,如果追求大数据集的恢复速度选RDB。
您可能关注的文档
- 14-设计模式及底层源码相关应用.doc
- 01-java基础原理面经.doc
- 03-基础算法与数据结构.doc
- 04-java锁、高并发、多线程面经.doc
- 05-反射、GC、JVM优化面经.doc
- 10-MQ面经必威体育精装版面试题.doc
- 06-JavaWeb面经必威体育精装版面试题.doc
- 02-java集合面经必威体育精装版面试题.doc
- 16-Spring面经必威体育精装版面试题.doc
- 19-SpringCloud面经必威体育精装版面试题.doc
- 第12课 大一统王朝的巩固 课件(20张ppt).pptx
- 第17课 君主立宪制的英国 课件.pptx
- 第6课 戊戌变法 课件(22张ppt).pptx
- 第三章 物态变化 第2节_熔化和凝固_课件 (共46张ppt) 人教版(2024) 八年级上册.pptx
- 第三章 物态变化 第5节_跨学科实践:探索厨房中的物态变化问题_课件 (共28张ppt) 人教版(2024) 八年级上册.pptx
- 2025年山东省中考英语一轮复习外研版九年级上册.教材核心考点精讲精练(61页,含答案).docx
- 2025年山东省中考英语一轮复习(鲁教版)教材核心讲练六年级上册(24页,含答案).docx
- 第12课近代战争与西方文化的扩张 课件(共48张ppt)1.pptx
- 第11课 西汉建立和“文景之治” 课件(共17张ppt)1.pptx
- 唱歌 跳绳课件(共15张ppt内嵌音频)人音版(简谱)(2024)音乐一年级上册第三单元 快乐的一天1.pptx
文档评论(0)