10、Redis 集群方案什么情况下会导致整个集群不可用?
有 A , B , C 三个节点的集群,在没有复制模型的情况下,如果节点 B 失败了 , 那么整个集群就会以为缺少5501-11000 这个范围的槽而不可用 。
11、MySQL 里有 2000w 数据 , redis 中只存 20w 的数据 , 如何保证 redis 中的数据都是热点数据?
redis 内存数据集大小上升到一定大小的时候 , 就会施行数据淘汰策略 。
其实面试除了考察 Redis , 不少公司都很重视高并发高可用的技术 , 特别是一线互联网公司 , 分布式、
JVM、spring 源码分析、微服务等知识点已是面试的必考题 。文末分享给大家一线互联网公司最新的技术知识(彩蛋)

文章插图
12、Redis 有哪些适合的场景?
(1)会话缓存(Session Cache)
最常用的一种使用 Redis 的情景是会话缓存(sessioncache) , 用 Redis 缓存会话比其他存储(如Memcached)的优势在于:Redis 提供持久化 。当维护一个不是严格要求一致性的缓存时 , 如果用户的购物车信息全部丢失 , 大部分人都会不高兴的 , 现在 , 他们还会这样吗?
幸运的是 , 随着 Redis 这些年的改进 , 很容易找到怎么恰当的使用 Redis 来缓存会话的文档 。甚至广为人知的商业平台 Magento 也提供 Redis 的插件 。
(2)全页缓存(FPC)
除基本的会话 token 之外 , Redis 还提供很简便的 FPC 平台 。回到一致性问题 , 即使重启了 Redis 实例 , 因为有磁盘的持久化 , 用户也不会看到页面加载速度的下降 , 这是一个极大改进 , 类似 php 本地FPC 。
再次以 Magento 为例 , Magento 提供一个插件来使用 Redis 作为全页缓存后端 。
此外 , 对 wordPress/ target=_blank class=infotextkey>WordPress 的用户来说 , Pantheon 有一个非常好的插件 wp-redis , 这个插件能帮助你以最快速度加载你曾浏览过的页面 。
(3)队列
Reids 在内存存储引擎领域的一大优点是提供 list 和 set 操作 , 这使得 Redis 能作为一个很好的消息队列平台来使用 。Redis 作为队列使用的操作 , 就类似于本地程序语言(如 Python)对 list 的 push/pop操作 。
如果你快速的在 google 中搜索“Redis queues” , 你马上就能找到大量的开源项目 , 这些项目的目的就是利用 Redis 创建非常好的后端工具 , 以满足各种队列需求 。例如 , Celery 有一个后台就是使用Redis 作为 broker , 你可以从这里去查看 。
(4)排行榜/计数器
Redis 在内存中对数字进行递增或递减的操作实现的非常好 。集合(Set)和有序集合(SortedSet)也使得我们在执行这些操作的时候变的非常简单 , Redis 只是正好提供了这两种数据结构 。
所以 , 我们要从排序集合中获取到排名最靠前的 10 个用户–我们称之为“user_scores” , 我们只需要像下面一样执行即可:
当然 , 这是假定你是根据你用户的分数做递增的排序 。如果你想返回用户及用户的分数 , 你需要这样执行:
ZRANGE user_scores 0 10 WITHSCORESAgora Games 就是一个很好的例子 , 用 Ruby 实现的 , 它的排行榜就是使用 Redis 来存储数据的 , 你可以在这里看到 。
(5)发布/订阅
最后(但肯定不是最不重要的)是 Redis 的发布/订阅功能 。发布/订阅的使用场景确实非常多 。我已看见人们在社交网络连接中使用 , 还可作为基于发布/订阅的脚本触发器 , 甚至用 Redis 的发布/订阅功能来建立聊天系统!

文章插图
13、Redis 支持的 Java 客户端都有哪些?官方推荐用哪个?
Redisson、Jedis、lettuce 等等 , 官方推荐使用 Redisson 。
14、Redis 和 Redisson 有什么关系?
15、Jedis 与 Redisson 对比有什么优缺点?
Jedis 是 Redis 的 Java 实现的客户端 , 其 API 提供了比较全面的 Redis 命令的支持;
Redisson 实现了分布式和可扩展的 Java 数据结构 , 和 Jedis 相比 , 功能较为简单 , 不支持字符串操作 , 不支持排序、事务、管道、分区等 Redis 特性 。Redisson 的宗旨是促进使用者对 Redis 的关注分离 , 从而让使用者能够将精力更集中地放在处理业务逻辑上 。
推荐阅读
- 对一次 redis 未授权写入攻击的分析以及学习
- Redis快的秘诀
- 你的苹果手机多久清理一次垃圾 苹果手机缓存怎么清理
- Redis内存又不够用了?教你几种集群方案轻松甩掉存储难题
- 浏览器缓存机制
- Redis实现分布式锁与Zookeeper实现分布式锁区别
- 基于redis来实现的分布式锁
- 解析redis备份文件rdb的两种方法及对比
- Redis如何保证接口的幂等性?我前后看了10遍,果断收藏
- Redis桌面管理工具Redis Desktop Manager 2019.2发布
