冲一下阿里,感觉不是很难
新的一周又来了,今天分享的是训练营的朋友在阿里的一面,看了一下面试的内容,感觉挺简单的,你做一下试试:
Redis 数据消失的原因
Redis 中的数据如果既没有设置过期时间也没有被显式删除但仍然消失了,可能是因为配置了持久化策略(如RDB快照或AOF日志),在重启后数据未正确加载;
或者执行了清空命令如FLUSHDB或FLUSHALL。此外,当Redis达到其配置的最大内存限制时,会依据设定的驱逐策略(eviction policy)自动移除部分键值对以释放内存空间。
还有可能是由于主从复制过程中发生故障切换,导致某些尚未同步的数据丢失。
Redis 的数据结构
字符串(String)、哈希表(Hash)、列表(List)、集合(Set)以及有序集合(Sorted Set)。
Redis Geo Hash 的使用和实现
是GeoHash算法,
它可以将经纬度坐标编码成一个字符串,从而简化了位置数据的管理和检索。
在内部,Redis 使用有序集合(zset)来保存每个地点的位置信息,其中元素的分数代表了该地点的GeoHash编码值。这样就可以高效地进行范围查找和最近邻搜索。
ZSET 的存储方式
ZSET 允许为每个成员关联一个浮点数分值,并按此分值升序排列。为了保证高效的插入、删除和查找操作。
Redis 在内部采用了跳跃表(skiplist)与哈希表相结合的方式来组织数据。跳跃表确保了快速的顺序访问,而哈希表提供了O(1)复杂度的随机访问能力。
RocketMQ 如何保障高性能
RocketMQ 设计了一系列机制以确保高吞吐量和低延迟的消息传递服务。
其中包括异步刷盘减少I/O阻塞,批量发送消息降低网络开销,零拷贝技术提升文件读取效率,以及精心优化的文件
