暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
分布式架构介绍.docx
11
12页
1次
2025-04-09
免费下载
1. 使用 Redis 有哪些好处?
(1) 速度快,因为数据存在内存中,类似于 HashMapHashMap 的优势就是查找
和操作的时间复杂度都是 O(1)
(2) 支持丰富数据类型,支持 stringlistsetsorted sethash
(3) 支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要
么全部不执行
(4) 丰富的特性:可用于缓存,消息,按 key 设置过期时间,过期后将会自动删除
2. redis 相比 memcached 有哪些优势?
(1) memcached 所有的值均是简单的字符串,Redis
作为其替代者,支持更为丰
富的数据类型
(2) redis
的速度比 memcached 快很多
(3) redis 可以持久化其数据
3. redis 常见性能问题和解决方案:
(1) Master 最好不要做任何持久化工作,如 RDB 内存快照和 AOF 日志文件
(2) 如果数据比较重要,某个 Slave 开启 AOF 备份数据,策略设置为每秒同步一次
(3) 为了主从复制的速度和连接的稳定性,Master Slave 最好在同一个局域网内
(4) 尽量避免在压力很大的主库上增加从库
(5) 主从复制不要用图状结构,用单向链表结构更为稳定,即:Master <- Slave1
<- Slave2 <- Slave3…
这样的结构方便解决单点故障问题,实现 Slave Master 的替换。如果 Master
了,可以立刻启用 Slave1 Master,其他不变。
4. MySQL 里有 2000w 数据,redis 中只存 20w 的数据,如何保证 redis 中的数据
都是热点数据
相关知识:redis 内存数据集大小上升到一定大小的时候,就会施行数据淘汰策略。
redis 提供 6 种数据淘汰策略:
voltile-lru:从已设置过期时间的数据集(server.db[i].expires)中挑选最近最少
使用的数据淘汰
volatile-ttl:从已设置过期时间的数据集(server.db[i].expires)中挑选将要过期
的数据淘汰
volatile-random:从已设置过期时间的数据集(server.db[i].expires)中任意选
择数据淘汰
allkeys-lru:从数据集(server.db[i].dict)中挑选最近最少使用的数据淘汰
allkeys-random:从数据集(server.db[i].dict)中任意选择数据淘汰
no-enviction(驱逐):禁止驱逐数据
5. Memcache Redis 的区别都有哪些?
1)、存储方式
Memecache 把数据全部存在内存之中,断电后会挂掉,数据不能超过内存大小。
Redis 有部份存在硬盘上,这样能保证数据的持久性。
2)、数据支持类型
Memcache 对数据类型支持相对简单。
Redis 有复杂的数据类型。
3)、使用底层模型不同
它们之间底层实现方式 以及与客户端之间通信的应用协议不一样。
Redis 直接自己构建了 VM 机制 ,因为一般的系统调用系统函数的话,会浪费一定
的时间去移动和请求。
4),value 大小
redis 最大可以 1GB memcache 只有 1MB
6. Redis 常见的性能问题都有哪些?如何解决?
1).Master 内存快照,save 命令调度 rdbSave 函数,会阻塞线程的工作,
照比较大时对性能影响常大的,会间断性暂停服务,所以 Master 最好不要内存快
照。
2).Master AOF 持久化,如果不重 AOF 文件,这个持久化方式对性能的影响是最
小的, AOF 文件会不断增大,AOF 文件过大会影响 Master 重启的复速度。
Master 最好不要做任何持久化工作,包括内存快照和 AOF 日志文件,特别是不要启用
of 12
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。