### Re
dis常用的数据类型
Re
dis的五种常用的数据类型分别是:String、Hash、List、Set和Sorted set

### Re
dis的使用场景
1.Counting(计数)
2.展示最近、最热、点击率最高、活跃度最高等等条件的top list
3.
用户最近访问记录也是re
dis list的很好应用场景
4.通过list的lpop及lpush接口进行队列的写入和消费
5.Re
dis 的Lua的
功能扩展实际给Re
dis带来了更多的应用场景,你可以编写若干command组合作为
一个小型的非阻塞事务或者更新逻辑
6.Re
dis提供的主从数据同步
功能,其实是对cache的
一个强有力
功能扩展
**小结**
如此多的应用无非离不开Re
dis的所有特性
### 揭开Re
dis的神秘面纱
Re
dis是
一个开源(KEY-VALUE键值对),内存存储的数据结构服务器,可用作
数据库,高速缓存和消息队列代理。采用单进程单线程模型,并发能力强大,是当前互联网架构中主流的分布式缓存工具。

### Re
dis高
性能缓存架构设计
**1.架构设计**
由于re
dis是单点,项目中需要使用,必须自己实现分布式。基本架构图如下所示:

**2.分布式实现**
通过key做一致性哈希,实现key对应re
dis结点的分布。
一致性哈希的实现:
hash值计算:通过
支持MD5与MurmurHash两种计算方式,
默认是采用MurmurHash,高效的hash计算。
一致性的实现:通过java的TreeMap来模拟环状结构,实现均匀分布
**3.client的选择**
对于je
dis修改的主要是分区模块的
修改,使其
支持了跟据BufferKey进行分区,跟据不同的re
dis结点信息,可以初始化不同的ShardInfo,同时也
修改了Je
disPool的底层实现,使其连接pool池
支持跟据key,value的构造
方法,跟据不同ShardInfos,创建不同的je
dis连接客户端,达到分区的
效果,供应用层
调用
**4.模块的说明**
脏数据处理模块,处理失败执行的缓存操作。
屏蔽监控模块,对于je
dis操作的异常监控,当某结点出现异常可控制re
dis结点的切除等操作。
整个分布式模块通过
hornetq,来切除异常re
dis结点。对于新结点的
增加,也可以通过reload
方法实现
增加。(此模块对于新增结点也可以很方便实现)
# 面试结束复盘查漏补缺
每次面试都是检验自己知识与技术实力的一次机会,面试结束后建议大家及时总结复盘,查漏补缺,然后有针对性地进行学习,既能提高下一场面试的成功概率,还能
增加自己的技术知识栈储备,可谓是一举两得。
**以下最新总结的阿里P6资深Java必考题范围和答案**,包含最全
MysqL、Re
dis、Java并发编程等等面试题和答案,用于参考~
**资料免费领取方式:点赞关注后,[戳这里免费领取](https://docs.qq.com/doc/DSmxTbFJ1cmN1R2dB)**
**重要的事说三遍,关注+关注+关注!**


**更多笔记
分享**

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。