redis的过期策略如何实现
面试官:我看你简历提到xxx项目使用了redis
小弱鸡:嗯,因为xxxx的性能问题,经过排查之后,发现性能瓶颈在数据库上面,所以引入了redis
面试官:行,那你了解redis的过期策略吗?
小弱鸡:有了解过,因为redis是基于内存来进行高性能、高并发的读写操作的,既然是内存,那肯定有空间的限制
...
MappedByteBuffer VS FileChannel 孰强孰弱?
前言Java 在 JDK 1.4 引入了 ByteBuffer 等 NIO 相关的类,使得 Java 程序员可以抛弃基于 Stream ,从而使用基于 Block 的方式读写文件,另外,JDK 还引入了 IO 性能优化之王—— 零拷贝 sendFile 和 mmap。但他们的性能究竟怎么样? 和
...
17 个方面,综合对比 Kafka、RabbitMQ、RocketMQ、ActiveMQ 四个分布式消息队列
一、资料文档
二、开发语言
三、支持的协议
四、消息存储
五、消息事务
六、负载均衡
七、集群方式
八、管理界面
九、可用性
十、消息重复
十一、吞吐量TPS
十二、订阅形式和消息分发
十三、顺序消息
十四、消息确认
十五、消息回溯
十六、消息重试
十七、并发度
本文将从,Kafka、Ra
...
为什么Kafka不支持读写分离
从代码层面上来说,在 Kafka 中完全可以支持这种功能,但是会大大增加代码的复杂度,所以我们要从“收益点”这个角度来做具体分析。主写从读可以让从节点去分担主节 点的负载压力,预防主节点负载过重而从节点却空闲的情况发生。但是主写从读也有 2 个很明 显的缺点:
数据一致性问题。数据从主节点转到从节
...
如何保证缓存与数据库的双写一致性
只要用缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题,那么你如何解决一致性问题?
面试题剖析一般来说,如果允许缓存可以稍微的跟数据库偶尔有不一致的情况,也就是说如果你的系统不是严格要求 “缓存+数据库” 必须保持一致性的话,最好不要做这个方案,即:读请求和写请求
...