redis 面试问题 (更新中 ing)
发布时间:2024年01月03日
reids 是做什么的
为什么那么快
有哪些使用场景
1.数据缓存
2.计数器
3.限时
4.限流
5.分布式锁
6.队列
7.发布 订阅
redis有哪些 数据结构
常用的
- string 对字符串 、整数、浮点数
- list 链表 ,字符串
- set 不重复集合 ,交集、并集 差集
- hash 无序散列
- zset 不重复 分数排序 排行榜
特殊的 - 基数统计 hyperloglogs
- 位图 bitmaps
- 地理位置 geo
redis 有哪些底层数据结构
- sds 动态字符串
- quicklist 快表
- ziplist
- inset
- dict
- skiplist
为什么设计 sds
- 常数复杂度获取字符串长度
- 杜绝缓冲区溢出,先判断长度
- 减少内存分配 次数,预分配,惰性释放空间
- 兼容部分 c 函数
- 二进制安全 ,图片,空字符,特殊符号 存储 ,判断结束
一个 字符串 存储多大容量
stream
为什么设计 stream
redis 支持发布订阅功能,但是有缺陷
- list和 zet ,支持持久化,不支持主播、多播
- pub、sub,不支持持久化,dwon 机消息丢失,
参考 kafka,设计了 stream,支持消息回溯,消费者组
stream 消费者消息丢失
- 对于组内消费者消费消息,现记录读取位置,消费完,回复 ack,记录消息过,如果消费者宕机,可以调用查询 pengding 列表,读取已经 读取未成功消费的消息
stream 消息私信问题
- 对于反复失败的 消息,redis 会记录失败次数,达到一定次数 ,会打标记,消费者查询该标记,可以决定 是删除 还是怎么 处理
持久化机制
redis 持久化机制,优缺点,怎么用
文章来源:https://blog.csdn.net/qq_25385555/article/details/135362069
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:chenni525@qq.com进行投诉反馈,一经查实,立即删除!