Redis面试题

1、什么是Redis

Redis 是一个高性能的key-value缓存数据库,默认是存储在内存中的。它共有16个数据库

2、Redis有哪些数据类型

数据类型 可存储的值 应用场景
String 字符串、整数或者浮点数 做简单的键值对缓存
List 列表 存储一些列表型的数据结构
Set 无序集合 交集、并集、差集的操作
Hash 包含键值对的无序散列表 结构化的数据,比如一个对象
Zset 有序集合 去重但可以排序,如获取排名前几名的用户

3、Redis有哪些优缺点?

优点:

  • 读写速度快,因为数据存在内存中,类似于 HashMap,HashMap 的优势就是查找和操作的时间复杂度都是 O1)
  • 支持丰富数据类型,支持 string,list,set,Zset,hash 等
  • 支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行
  • 丰富的特性:可用于缓存,消息,按 key 设置过期时间,过期后将会自动删除

缺点:

  • 数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。

  • Redis 不具备自动容错和恢复功能,主机从机的宕机都会导致前端部分读写请求失败,需要等待机器重启或者手动切换前端的IP才能恢复。

  • 主机宕机,宕机前有部分数据未能及时同步到从机,切换IP后还会引入数据不一致的问题,降低了系统的可用性。

  • Redis 较难支持在线扩容,在集群容量达到上限时在线扩容会变得很复杂。为避免这一问题,运维人员在系统上线时必须确保有足够的空间,这对资源造成了很大的浪费。

4、什么是Redis持久化?

       持久化就是把内存的数据写到磁盘中去,防止服务宕机了内存数据丢失。

       Redis 提供两种持久化机制 RDB(默认) 和 AOF 机制。

       RDB是通过保存数据库中的键值对来记录数据库的状态。而另一种持久化方式 AOF 则是通过保存Redis服务器所执行的写命令来记录数据库状态。

5、RDB 的优势和劣势

       RDB是Redis默认的持久化方式。按照一定的时间将内存的数据以快照的形式保存到硬盘中,对应产生的数据文件为dump.rdb。通过配置文件中的save参数来定义快照的周期。

(1)优势

  RDB是一个非常紧凑(compact)的文件,它保存了redis 在某个时间点上的数据集。这种文件非常适合用于进行备份和灾难恢复。
  生成RDB文件的时候,redis主进程会f

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值