拉勾教育Java面试宝典分布式相关篇

发布:2020-08-24  
Java性能之多,分布式是很重要的一块,在很多企业里,应用的分布式存储以及运行,都是为了提升java程序运行的效率以及运行环境的提升。拉勾IT课小编为大家分解,分布式相关资料。
1.Redis和Memcache的区别?
1、存储方式 Memecache把数据全部存在内存之中,断电后会挂掉,数据不能超过内存大小。 Redis有部份存在硬盘上,redis可以持久化其数据
2、数据支持类型 memcached所有的值均是简单的字符串,redis作为其替代者,支持更为丰富的数据类型 ,提供list,set,zset,hash等数据结构的存储
3、使用底层模型不同 它们之间底层实现方式 以及与客户端之间通信的应用协议不一样。 Redis直接自己构建了VM 机制 ,因为一般的系统调用系统函数的话,会浪费一定的时间去移动和请求。
4、value 值大小不同:Redis 最大可以达到 1gb;memcache 只有 1mb。
5、redis的速度比memcached快很多
6、Redis支持数据的备份,即master-slave模式的数据备份。
2.使用Redis有哪些好处?
(1) 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1)
(2) 支持丰富数据类型,支持string,list,set,sorted set,hash
(3) 支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行
(4) 丰富的特性:可用于缓存,消息,按key设置过期时间,过期后将会自动删除
3.什么是redis持久化?rdb和aof的比较?
持久化就是把内存的数据写到磁盘中去,防止服务宕机了内存数据丢失。
比较:
1、aof文件比rdb更新频率高,优先使用aof还原数据。
2、aof比rdb更安全也更大
3、rdb性能比aof好
4、如果两个都配了优先加载AOF
4.Redis最适合的场景?
(1)、会话缓存(Session Cache)
最常用的一种使用Redis的情景是会话缓存(session cache)。用Redis缓存会话比其他存储(如Memcached)的优势在于:Redis提供持久化。
(2)、全页缓存(FPC)
除基本的会话token之外,Redis还提供很简便的FPC平台。回到一致性问题,即使重启了Redis实例,因为有磁盘的持久化,用户也不会看到页面加载速度的下降,这是一个极大改进,类似PHP本地FPC。
再次以Magento为例,Magento提供一个插件来使用Redis作为全页缓存后端。
此外,对WordPress的用户来说,Pantheon有一个非常好的插件 wp-redis,这个插件能帮助你以最快速度加载你曾浏览过的页面。
(3)、队列
Reids在内存存储引擎领域的一大优点是提供 list 和 set 操作,这使得Redis能作为一个很好的消息队列平台来使用。Redis作为队列使用的操作,就类似于本地程序语言(如Python)对 list 的 push/pop 操作。
(4),排行榜/计数器
Redis在内存中对数字进行递增或递减的操作实现的非常好。集合(Set)和有序集合(Sorted Set)也使得我们在执行这些操作的时候变的非常简单,Redis只是正好提供了这两种数据结构。所以,我们要从排序集合中获取到排名最靠前的10个用户–我们称之为“user_scores”,我们只需要像下面一样执行即可:
(5)、发布/订阅
最后(但肯定不是最不重要的)是Redis的发布/订阅功能。发布/订阅的使用场景确实非常多。我已看见人们在社交网络连接中使用,还可作为基于发布/订阅的脚本触发器,甚至用Redis的发布/订阅功能来建立聊天系统!
联系我时,请说是在老客网上看到的,谢谢!
拉勾教育Java面试宝典分布式相关篇_0拉勾教育Java面试宝典分布式相关篇_1拉勾教育Java面试宝典分布式相关篇_2拉勾教育Java面试宝典分布式相关篇_3
发布者信息
联  系  人:小勾老师(商家)
注册日期:2020年08月20日
用户认证:
声明:以上内容(如有图片或视频,也包括在内)为平台注册用户上传并发布,本平台仅提供信息存储服务。任何权利(如著作权、肖像权、名誉权等)的主张者,可提供权属证明后,经本平台审核后做出处理。
关于老客 | 服务条款 | 常见问题 | 法律声明 | 联系我们
2005-2025 laoke.com 京ICP备06019010号 京ICP证050484号  京公网安备 11010502036214号  营业执照