Reids:单线程+io多路复用机制

Redis与Memcached的区别:

一、memcached值是简单字符串,redis支持hash、set、list等复杂数据类型

二、redis可持久化数据,容灾能力强。Memcached只存于内存中。

三、redis是单线程操作,核心是io多路复用机制,效率更高。Memcached是多线程加锁

Redis的两种持久化策略:

一、RDB

在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里。

优点:

节省磁盘空间,恢复速度快

缺点:

① 由于不是持续备份,所以最后一次备份可能丢失。

② 由于需要子进程,所以数据庞大时比较消耗性能

二、AOF

以日志的形式来记录每个写操作,将Redis执行过的所有写指令记录下来(读操作不记录),只许追加文件但不可以改写文件。

Redis重启的话就根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作

优点:

① 备份机制更稳健,丢失数据概率更低

② 可读的日志文本,通过操作AOF文件,可以处理误操作

缺点:

① 占用较多磁盘空间

② 恢复备份较慢

③ 存在个别bug,导致数据无法恢复

AOF和RDB同时开启,系统默认取AOF的数据

Redis相关面试题的更多相关文章

  1. 熟悉这几道 Redis 高频面试题,面试不用愁

    1.说说 Redis 都有哪些应用场景? 缓存:这应该是 Redis 最主要的功能了,也是大型网站必备机制,合理地使用缓存不仅可以加 快数据的访问速度,而且能够有效地降低后端数据源的压力. 共享Ses ...

  2. redis 相关知识

    1. 什么是Redis Redis是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库.Redis全称为:Remote Dictionary Ser ...

  3. C# 相关面试试题简单的总结

    最近一个搞NET开发的朋友离职了,想让我给他找点关于NET的相关面试题,准备抱一下佛脚,迎接新的挑战. 我赶紧找到以前检索的各种宝典,试题,今天梳理一下关于NET的基础知识点. 1.面向对象语言的三大 ...

  4. Linux相关面试题&答案

    Linux相关面试题&答案 Linux面试题&答案 假设apache日志格式为:118.78.199.98 – - [09/Jan/2010:00:59:59 +0800] " ...

  5. redis相关配置

    redis相关配置1.yum 源码 rpm yum 快速,间接,高效,解决依赖关系,(自动安装到某个路径,不可控),通过yum安装的软件查询命令 rpm -ql nginx yum源的软件包可能版本非 ...

  6. 【面试】我是如何在面试别人Redis相关知识时“软怼”他的

    事出有因 Redis是一个分布式NoSQL数据库,因其数据都存储在内存中,所以访问速度极快,因此几乎所有公司都拿它做缓存使用,所以Redis常被称为分布式缓存. 一次我的一个同事让我帮他看Redis相 ...

  7. 《吊打面试官》系列-Redis常见面试题(带答案)

    你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源,有面试点思维导图,欢迎[Star]和[完善] 前言 Redis在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在 ...

  8. Redis相关知识整理

    Redis相关知识整理 1. Redis和MySQL的区别?a).mysql是关系型数据库,而redis是NOSQL,非关系型数据库.mysql将数据持久化到硬盘,读取数据慢,而redis数据先存储在 ...

  9. 02:Redis常见面试题

    1.1 redis基础面试题 1.什么是Redis?简述它的优缺点? 1. Redis本质上是一个Key-Value类型的内存数据库,很像memcached. 2. 整个数据库统统加载在内存当中进行操 ...

随机推荐

  1. vue router 传递参数

    vue-router 传参的方式 query 和params query 类似于get请求的传参方法 就是 ? 这种形式的 https://i.cnblogs.com/EditPosts.aspx?o ...

  2. javascript的回调函数 同步 异步

    后一个任务等待前一个任务结束再执行.程序执行顺序与任务排列顺序一致的,同步的. 参考: http://www.ruanyifeng.com/blog/2012/12/asynchronous%EF%B ...

  3. Objective-C block实现代码分析

    block内部结构 让我们写一个block void exampleBlock() { // NSConcreteStackBlock int a = 1; __block int b = 2; in ...

  4. [MVVM Light]Messenger 的使用

    原文:[MVVM Light]Messenger 的使用 当我们使用MVVM开发模式进行开发时,ViewModel之间的通信常常是很头疼的事情,好在MVVM Light提供了Messenger类可以轻 ...

  5. QT中窗口刷新事件的学习总结(viewport, paintEvent, repaint, update, erase, updatesEnabled)

    一.主要理解一下几个方法和属性: 1.QWidget * QScrollView::viewport () const 2.void QWidget::paintEvent ( QPaintEvent ...

  6. vb.net版本房收费系统改造

    房费制开始重建的最终版本. 前几天.刚刚看完三层的视频,在视频中具体的解说了一个登录功能.天真的我,当时以为三层结构是那么的简单,所以我草草地做完总结之后,就非常快就開始机房收费系统的重构了.但是谁想 ...

  7. 【Android发展】它Fragment发展1

    一直知道Fragment非常强大.可是一直都没有去学习,如今有些空暇的时间,所以就去学习了一下Fragment的简单入门.我也会把自己的学习过程写下来,假设有什么不足的地方希望大牛指正,共同进步. 一 ...

  8. OpenGL(十三) Alpha测试、剪裁测试

    Alpha测试测试就是测试每一个像素的Alpha值是否满足某一个特定的条件,如果满足,则该像素会被绘制,如果不满足则不绘制,跟深度测试的机制是一样的,只不过深度测试考察的是像素的"深度&qu ...

  9. docker ubuntu 不选时区

    在用ubuntu:18.04基本镜像进行构建的时候.出现啦选择时区的地方,然后会卡住. FROM ubuntu:18.04 #env 环境变量 ENV AUTHOR="xianyunyehe ...

  10. 【转】Powerdesigner逆向工程从sql server数据库生成pdm

    第一步:打开"控制面板"中的"管理工具" 第二步:点击"管理工具"然后双击"数据源(odbc)" 第三步:打开之后,点击 ...