ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

程序员开发指南!五面阿里拿下飞猪事业部offer

2021-07-06 20:52:39  阅读:146  来源: 互联网

标签:20210706 结点 offer com Redis 飞猪 https images 五面


### Redis常用的数据类型 Redis的五种常用的数据类型分别是:String、Hash、List、Set和Sorted set ![](http://www.icode9.com/i/li/?n=2&i=images/20210706/1625575406242391.jpg) ### Redis的使用场景 1.Counting(计数) 2.展示最近、最热、点击率最高、活跃度最高等等条件的top list 3.用户最近访问记录也是redis list的很好应用场景 4.通过list的lpop及lpush接口进行队列的写入和消费 5.Redis 的Lua的功能扩展实际给Redis带来了更多的应用场景,你可以编写若干command组合作为一个小型的非阻塞事务或者更新逻辑 6.Redis提供的主从数据同步功能,其实是对cache的一个强有力功能扩展 **小结** 如此多的应用无非离不开Redis的所有特性 ### 揭开Redis的神秘面纱 Redis是一个开源(KEY-VALUE键值对),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。采用单进程单线程模型,并发能力强大,是当前互联网架构中主流的分布式缓存工具。 ![](http://www.icode9.com/i/li/?n=2&i=images/20210706/1625575406207550.jpg) ### Redis高性能缓存架构设计 **1.架构设计** 由于redis是单点,项目中需要使用,必须自己实现分布式。基本架构图如下所示: ![](http://www.icode9.com/i/li/?n=2&i=images/20210706/1625575407200124.jpg) **2.分布式实现** 通过key做一致性哈希,实现key对应redis结点的分布。 一致性哈希的实现: hash值计算:通过支持MD5与MurmurHash两种计算方式,默认是采用MurmurHash,高效的hash计算。 一致性的实现:通过java的TreeMap来模拟环状结构,实现均匀分布 **3.client的选择** 对于jedis修改的主要是分区模块的修改,使其支持了跟据BufferKey进行分区,跟据不同的redis结点信息,可以初始化不同的ShardInfo,同时也修改了JedisPool的底层实现,使其连接pool池支持跟据key,value的构造方法,跟据不同ShardInfos,创建不同的jedis连接客户端,达到分区的效果,供应用层调用 **4.模块的说明** 脏数据处理模块,处理失败执行的缓存操作。 屏蔽监控模块,对于jedis操作的异常监控,当某结点出现异常可控制redis结点的切除等操作。 整个分布式模块通过hornetq,来切除异常redis结点。对于新结点的增加,也可以通过reload方法实现增加。(此模块对于新增结点也可以很方便实现) # 资料分享 > **[领取方式:戳这里即可免费获取](https://docs.qq.com/doc/DSmxTbFJ1cmN1R2dB),同时还可以“嫖”到一份关于Redis事务源码的详解内容。** **1、算法大厂——字节跳动面试题** ![](http://www.icode9.com/i/li/?n=2&i=images/20210706/1625575407404357.jpg) **2、2000页互联网Java面试题大全** ![](http://www.icode9.com/i/li/?n=2&i=images/20210706/1625575407767362.jpg) **3、高阶必备,算法学习** ![](http://www.icode9.com/i/li/?n=2&i=images/20210706/1625575407909398.jpg)

标签:20210706,结点,offer,com,Redis,飞猪,https,images,五面
来源: https://blog.51cto.com/u_15292612/2994277

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有