面试题
YonChao
尽道此山秋不入,无霜林叶为谁红
展开
-
redis 分布式锁
同时可以进一步优化,当一个请求进来的时候就开启一个子线程?或者开启一个异步任务来操作上述的代码。在这个过程中,由于各种原因(网络、或者是重试过程中)可能会导致Kafka重新消费同一条消息。要解决幂等性的问题,可以在send数据之前首先进行数据库的查询操作。一个在线考试的系统中,使用Kafka进行异步的答题记录的提交。这时候在查询和send数据的两个动作需要是一个原子性的操作。这时候会出现幂等性的问题。在这里使用一个分布式锁。原创 2023-11-02 17:19:33 · 261 阅读 · 0 评论 -
redis的两种持久化的方式 RDB AOF
【代码】redis的两种持久化的方式 RDB AOF。原创 2023-11-02 16:54:48 · 102 阅读 · 0 评论 -
docker安装Kafka,SpringBoot整合Kafka
【代码】docker安装Kafka,SpringBoot整合Kafka。原创 2023-11-01 21:08:35 · 227 阅读 · 0 评论 -
Redis与Mysql的数据一致性(双写一致性)
双写一致性:当修改了数据库的数据也要同时的更新缓存的数据,使缓存和数据库的数据要保持一致。一般是在写数据的时候添加延迟双删的策略先删缓存再修改数据延迟一段时间后再次删除缓存这种方式其实不是很靠谱。原创 2023-11-01 11:41:23 · 247 阅读 · 0 评论 -
redis缓存击穿,redisson分布式锁,redis逻辑过期
缓存击穿是指在高并发环境下,某个热点数据的缓存过期,导致大量请求同时访问后端存储系统,引起系统性能下降和后端存储压力过大的现象。原创 2023-10-30 20:38:07 · 273 阅读 · 0 评论 -
redis缓存穿透
缓存穿透其实是一种攻击性的行为。其实是接口访问一个没有被缓存的数据,这个数据每次都会去请求数据库,如果没有一个处理的话,恶意的请求会对数据库造成极大的压力。那么可以对这个没有命中的数据也对应的缓存到redis中,当请求再次来临的时候就不会去访问数据库。模拟一个500并发量的请求,单接口的响应耗时已经达到了1500毫秒。在数据没有命中缓存的时候这个请求会直接的打到后端数据库上,guava的工具包为我们做了布隆过滤器的实现。缺点:可能会浪费redis大量的内存。布隆过滤器本质上是一个bitmap。原创 2023-10-28 18:20:55 · 118 阅读 · 0 评论