redis题目

在这里插入图片描述
在这里插入图片描述
1.数据结构:是什么,怎么用
五种
String:
哈希表:存一些结构化的数据
扩展的:bigmap,布隆过滤器,
bigmap:上千万亿级别的用户状态,比如:web,app的用户签到

2.高可扩展:扩容,切片集群,数据分布,数据迁移
3.高性能保证:为什么快?,为什么又满了?

4.高可用技术:数据持久化,主从复制,哨兵机制,数据一致性

1.Redis的优缺点各是什么?

在这里插入图片描述
优点:快,数据类型丰富
缺点:内存数据库(场景-持久化)

2.Redis的AOF和RDB机制各是什么?有什么区别?

在这里插入图片描述
AOF相当于记日志
RDB快照
性能影响,数据丢失影响,对外提供服务影响

3. Redis是不是单线程架构

在这里插入图片描述

原理+扩展

原理:redis线程模型,在做一写请求处理,键值对读写的时候,实际上有一个主线程在做处理。
扩展:redis有一些子进程,有一些线程做一步操作,比如RDB就是通多fork机制,创建一个子进程把内存数据写盘。
实际上将redis单线程是说,

  1. 它主的io,键值对读写是单线程的,
  2. 但是,在做一些耗时操作时,RDB fork机制镜像落盘
  3. 还有些惰性删除,通过异步线程实现

redis网络通信resp协议请求解析,这个比较耗时,6.0就是把这部分改成多线程,键值对存取还是单线程
这个存取单线程请求解析多线程之间通过队列来做请求交互

4.Redis的Hash表会装满吗?装满了怎么办?

在这里插入图片描述redis其实全局就是个hash表,数据结构也有hash
主要考察hash表工作机制
hash表有

  • 静态哈希:桶大小固定好了,就那么多。
  • 动态哈希:
    随着数据越来越多,会产生哈希冲突,怎么解决哈希冲突
    redis是通过channelhash,链式哈希,但是连太长性能不好,就会有rehash。
    rehash怎么做?
    rehash潜在影响?
    rehash对redis整体键值对影响?

5.redis的性能突然变慢了,有什么好办法?

在这里插入图片描述

  1. 操作不能太复杂,集合操作,可以分批
  2. bigkey,拆解
  3. io,scan

计算机系统变慢就是资源出问题, 四个方面。

  1. cup,一般就是时间复杂度(比如集合操作,kiss导致哈希表全表扫描)
  2. 内存,1大块内存,2内存回收问题(突然一下子删除大量key)
  3. 磁盘io,
  4. 网络io,大key把网卡打满(1K对比1M),或者请求多把网卡打满
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值