IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 每天5道java面试题 -7(Redis) -> 正文阅读

[大数据]每天5道java面试题 -7(Redis)

1.什么是Redis?

? ? ? ? Redis是一个使用C语言写成的,开源的高性能key-value非关系缓存数据库。他支持储存的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set -- 有序集合)和hash(哈希类型)。Redis的数据都基于缓存的,所以很快,每秒可以处理超过10万次读写操作,是已知性能最快的Key-value DB。Redis也可以实现数据写入磁盘中,保证了数据的安全不丢失,而且Redis的操作是原子性的

2.Redis有哪些优缺点?

?优点:

  • 读写性能优异,Redis能读的速度是110000次/s,写的速度是81000次/s.
  • 支持数据持久化,支持AOF和RDB两种持久化方式
  • 支持事务,Redis所有操作都是原子性的,同时Redis还支持对几个操作合并后的原子性执行。
  • 数据结构丰富,除了支持string类型的value外还支持hash,set,zset,list等数据结构
  • 支持主从复制,主机会自动将数据同步到从机,可以进行读写分离

缺点:

  • 数据库容量收到物理内存的限制,不能用作海量数据高性能的读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上
  • Redis不具备自动容错和恢复功能,主机从机的宕机都会导致前端部分读写请求失败,需要等待机器重启或者手动切换前端的IP才能恢复。
  • 主机宕机,宕机前有部分数据未能及时同步到从机,切换IP后还会引入数据不一致的问题,降低了系统的可用性
  • Redis较难支持在线扩容,在集群数量达到上限时在线扩容会变得很复杂。为避免这一问题,运维人员在系统上线时必须确保有足够的空间,这对资源造成了很大的浪费

3.为什么要使用Redis?

主要从“高性能”和“高并发”两个方面来说

高性能:

? ? ? ? 假如用户第一次访问数据库中的某个数据,这个过程会比较慢,因为是从硬盘上读取的。将该用户访问的数据存在缓存中,这样下一次再访问这些数据的时候就可以直接从缓存中获取了。操作缓存就是直接操作内存,所以速度相当快。如果数据库中的对应数据改变之后,同步更改缓存中相应的数据即可。

高并发:

? ? ? ? 直接操作缓存所能承受的请求是远远大于直接访问数据库的,所以我们可以考虑把数据库中的部分数据转移到缓存中去,这样用户的一部分请求会直接到缓存这里而不用经过数据库。

4.Redis的内存用完了会发生什么?

? ? ? ? 如果达到设置的上限,Redis的写命令会返回错误信息(但是读命令可以正常返回),可以配置内存淘汰机制,当Redis达到内存上限时会冲刷掉旧的内容。

5.什么是Redis雪崩?有什么解决办法?

就是redis服务由于负载过大而宕机,导致MySQL的负载过大也宕机,最终导致整个系统瘫痪

解决办法:

? ? ? ? 1)reids集群,将原来一个人干的活,分发给多个人干

? ? ? ? 2)缓存预热(关闭外网访问,先开启MySQL。通过预热脚本将热点数据写入缓存中,启动缓存,开启外网服务)

? ? ? ? 3)数据不要设置相同的生存时间,不然过期时,redis压力过大

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-11-10 12:28:04  更:2021-11-10 12:29:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 5:55:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码