Redis面试相关内容了解下~(一)

原文地址:Redis面试相关内容了解下~(一)

1、什么是Redis?

Redis是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。

与其它key-value缓存产品相比较,Redis有以下三大特点:

  1. Redis支持数据持久化,可将内存中的数据保存在磁盘,重启服务时可再次加载进行使用。

  2. Redis不仅支持key-value类型的数据,还支持list、set、zset、hash等数据结构的存储。

  3. Redis支持数据备份,也就是master-salve模式的数据备份。

2、Redis优势?

  1. 性能极高:读的速度为110000次/s,写的速度是81000次/s。

  2. 支持多种数据类型:strings、lists、hashes、sets、ordered sets。

  3. 原子操作:单个操作都是原子性的,要么成功执行,要么全部不执行,多个操作也支持事务,通过multi和exec包起来。

  4. 丰富特性:支持publish/subscribe、通知、key过期等操作。

3、与其它key-value缓存产品相比较,Redis有什么不同?

  1. Redis有着更为复杂的数据结构并提供对其的原子操作,其数据类型都是基于基本数据结构且对程序人员透明,无需额外抽象。

  2. Redis运行在内存中,但可持久化到磁盘,所以在对不同数据进行高速读写时,需权衡内存,因为数据量不能大于硬件内存。

  3. 相比在磁盘上相同复杂的数据结构在内存中操作起来非常简单,如此Redis可做很多内部复杂性很强的事情,同时,在磁盘格式方面,Redis是以紧凑追加的方式存储的,所以并不需要随机访问。

4、Redis的数据类型?

string(字符串)、list(列表)、hash(哈希)、set(集合)、ordered set(有序集合)。

5、Redis相比于Memcache有哪些优势?

  1. Memcache所有值都是简单字符串,Redis支持更丰富的数据类型。

  2. Redis速度比Memcache快。

  3. Redis可持久化数据。

6、Redis相比于Memcache有哪些区别?

  1. 存储方式:Memcache将数据全部存储在内存,断电后会挂掉,数据量不能超过内存,Redis有部分数据存储在磁盘,保证数据持久性。

  2. 数据类型:Memcache所有值是简单字符串,Redis支持更丰富的数据类型。

  3. 底层模型:Redis自己构建VM机制,一般系统调用系统函数会浪费时间。

7、Redis是单进程单线程?

Redis利用队列技术将并发访问变为串行访问,消除传统数据库串行控制的开销。

8、一个字符串类型的值能存储的最大容量是多少?

512M。

9、Redis常见性能问题和解决方案?

  1. master最好不要写内存快照,否则save调度rdbSave会阻塞主线程的工作,当快照较大时,对性能会产生很大影响,会间断性暂停服务。

  2. 如数据较重要,某slave可开启AOF备份数据,策略可设置为每秒同步一次。

  3. 为保证主从复制的速度和连接的稳定性,master和slave最好在同一局域网。

  4. 尽量避免在压力很大的主库上增加从库。

  5. 主从复制尽量不要使用图状结构,用单链表结构更为稳定,也就是master<-slave1<-slave2<-slave3...结构,此结构可解决单点故障问题,实现slave对master的替换,如master挂了,可立即启用slave1做master,其它不变。

至此,本次分享就结束了,后期会慢慢补充。

以上仅为个人观点,不一定准确,能帮到各位那是最好的。

好啦,到这里本文就结束了,喜欢的话就来个三连击吧。

扫码关注公众号,获取更多优质内容

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

luyaran

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值