栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Redis的常见面试题(欢迎补充和纠正)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Redis的常见面试题(欢迎补充和纠正)

1.什么是Redis
   redis是apache的开源项目,基本支持常用的语言。由于redis是基于内存的DB,所以常用于缓存和存储。同时redis提供string、hash、list、set、zset 这5种基本数据类型和bitMap、hypeLogLog、geospatial3种特殊的数据类型。同时redis支持管道、订阅和发布、伪事务等。

2.redis的常用命令
3.redis与mongoDB对比
1.从数据结构上,redis支持丰富的数据结构,mongo支持key-Json的格式
2.从存储的形式,redis完全基于内存,但是mongo是优先内存,当内存导到mongo的设置的阈值时,mongo只会将热点数据写在内存,而普通数据写磁盘
3.从空间和备份来说,redis支持aop和rdb两种数据落地的形式,mongo支持binlog日志文件的形式,且mongo由于数据类型是简单的json格式,因此空间利用率高于redis

4.redis为什么快?
 redis官网公布的测试数据,是单机支持10wQPS,这个数据的前提是机器配置比较好,正常稍微过得去的机器能单机能支撑起3-4万的QPS。redis的快速只要是由于下面三点:
 1.redis是基于内存的数据库,
 2.redis虽然是单线程,但是基于epoll的多路复用io,能减少多线程上cpu切换的时间
 3.redis提供多种数据类型,同时内部实现和优化了支持这些数据类型的计算
 4.redis在设计上选取了例如zset跳跃表这种优秀的数据结构,虽然损耗的物理空间,但是却能达到时间换空间的结果

5.redis 为什么使用单线程
redis认为,基于内存的多路复用的selector模型足够快速,redis的瓶颈在于网络带宽,所以采用单线程,其实高阶版本的redis使用了用来处理网络请求的多线程,但是基于内存的读写依旧使用主线程

6.集群,主从复制?hash槽与一致性hash
7.redis的持久化,AOF和RDB两种模式分析?
8.redis淘汰策略
9.缓存雪崩、穿透、击穿?应对方法?
10.布隆过滤器,布谷鸟过滤器
11.redis分布式锁
12.redis管道pipeline,管道通信,fork和join
13.redis的发布与订阅sub/pub,和kafka等其它mq的区别
14.缓存的双写问题以及解决手段
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/872319.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号