加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Redis不懂,面试担心不过,一次性解决面试Redis题目(含答案)?

发布时间:2018-11-06 05:26:54 所属栏目:MySql教程 来源:JavaSpring高级进阶
导读:副标题#e# Redis是一个非常火的非关系型数据库,火到什么程度呢?只要是一个互联网公司都会使用到。Redis相关的问题可以说是面试必问的,下面我从个人当面试官的经验,总结几个必须要掌握的知识点。 介绍:Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD
副标题[/!--empirenews.page--]

Redis不懂,面试担心不过,一次性解决面试Redis题目(含答案)?

 

Redis是一个非常火的非关系型数据库,火到什么程度呢?只要是一个互联网公司都会使用到。Redis相关的问题可以说是面试必问的,下面我从个人当面试官的经验,总结几个必须要掌握的知识点。 介绍:Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API的非关系型数据库。 传统数据库遵循 ACID 规则。而 Nosql(Not Only SQL 的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称) 一般为分布式而分布式一般遵循 CAP 定理。

  • String字符串: 格式: set key value string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。 string类型是Redis最基本的数据类型,一个键最大能存储512MB。 Hash(哈希) 格式: hmset name key1 value1 key2 value2 Redis hash 是一个键值(key=>value)对集合。 Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。
  • List(列表) Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边) 格式: lpush name value 在 key 对应 list 的头部添加字符串元素 格式: rpush name value 在 key 对应 list 的尾部添加字符串元素 格式: lrem name index key 对应 list 中删除 count 个和 value 相同的元素 格式: llen name
  • 返回 key 对应 list 的长度
  • Set(集合) 格式: sadd name value Redis的Set是string类型的无序集合。 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。
  • zset(sorted set:有序集合) 格式: zadd name score value Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。 不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。 zset的成员是唯一的,但分数(score)却可以重复。

什么是Redis持久化?Redis有哪几种持久化方式?优缺点是什么?

持久化就是把内存的数据写到磁盘中去,防止服务宕机了内存数据丢失。 Redis 提供了两种持久化方式:RDB(默认) 和AOF RDB:

Redis不懂,面试担心不过,一次性解决面试Redis题目(含答案)?

rdb是Redis DataBase缩写 功能核心函数rdbSave(生成RDB文件)和rdbLoad(从文件加载内存)两个函数 AOF:

Redis不懂,面试担心不过,一次性解决面试Redis题目(含答案)?

  1. Aof是Append-only file缩写 每当执行服务器(定时)任务或者函数时flushAppendOnlyFile 函数都会被调用, 这个函数执行以下两个工作 aof写入保存: WRITE:根据条件,将 aof_buf 中的缓存写入到 AOF 文件 SAVE:根据条件,调用 fsync 或 fdatasync 函数,将 AOF 文件保存到磁盘中。 存储结构: 内容是redis通讯协议(RESP )格式的命令文本存储。 比较:aof文件比rdb更新频率高,优先使用aof还原数据。
  2. aof比rdb更安全也更大
  3. rdb性能比aof好
  4. 如果两个都配了优先加载AOF

刚刚上面你有提到redis通讯协议(RESP ),能解释下什么是RESP?有什么特点?

(可以看到很多面试其实都是连环炮,面试官其实在等着你回答到这个点,如果你答上了对你的评价就又加了一分)

Redis不懂,面试担心不过,一次性解决面试Redis题目(含答案)?

  • RESP 是redis客户端和服务端之前使用的一种通讯协议; RESP 的特点: 实现简单、快速解析、可读性好For Simple Strings the first byte of the reply is "+" 回复
  • For Errors the first byte of the reply is "-" 错误
  • For Integers the first byte of the reply is ":" 整数
  • For Bulk Strings the first byte of the reply is "$" 字符串
  • For Arrays the first byte of the reply is "*" 数组

Redis 有哪些架构模式?讲讲各自的特点

单机版

Redis不懂,面试担心不过,一次性解决面试Redis题目(含答案)?

特点:简单 问题: 1、内存容量有限 2、处理能力有限 3、无法高可用。主从复制

Redis不懂,面试担心不过,一次性解决面试Redis题目(含答案)?

  1. Redis 的复制(replication)功能允许用户根据一个 Redis 服务器来创建任意多个该服务器的复制品,其中被复制的服务器为主服务器(master),而通过复制创建出来的服务器复制品则为从服务器(slave)。 只要主从服务器之间的网络连接正常,主从服务器两者会具有相同的数据,主服务器就会一直将发生在自己身上的数据更新同步 给从服务器,从而一直保证主从服务器的数据相同。 特点:master/slave 角色
  2. master/slave 数据相同
  3. 降低 master 读压力在转交从库

问题:

  1. 无法保证高可用
  2. 没有解决 master 写的压力

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读