用 Project Reactor 的 bufferTimeout 代替 BufferTrigger 做高并发计数聚合
用 Project Reactor 的 bufferTimeout 代替 BufferTrigger 做高并发计数聚合 记录一次在计数服务里做「粉丝数聚合写」的实现。原教程用快手的 BufferTrigger,我改用了 Spring Boot 自带的 Project Reactor,零新增依赖。 背
Redis面试常见题
Redis面试常见题 缓存穿透 定义:查询一个不存在的数据,DB查询不到数据也不会直接写入缓存,就会导致每次请求都查数据库(如果有人恶意攻击,会击垮数据库)。 解决办法: 缓存空数据,查询返回的数据为空,仍然把这个空结果进行缓存 优点:实现简单。 缺点:消耗内存,可能发生数据不一致的问题 使用布隆过
Mysql和Redis双写不一致问题怎么解决?
Mysql和Redis双写不一致问题怎么解决? 在后端面试中,只要简历上写了 Redis,这道题是 100% 必问的: “怎么保证缓存和数据库的数据一致性?” 很多同学上来就背八股文:“延时双删、加分布式锁…” 但在面试官眼里,这道题考的不是死记硬背,而是你有没有处理过真实的线上事故。 因为在生产环
Redis 主从 + 哨兵 高可用环境搭建脚本(改进版)
Redis 主从 + 哨兵 高可用环境搭建脚本(改进版) #!/bin/bash
# ================================================
# Redis 主从 + 哨兵 高可用环境搭建脚本(改进版)
# ========================
Redis数据库基础
Redis数据库基础 Redis是基于内存的非关系数据库,主要用于解决缓存问题,储存key-value类型的数据,其中value可以有多种属性。 1.数据类型 字符串(String) 最基本的也是最重要的数据类型 哈希(Hash) 也被称之为散列,类似于Java的HashMap结构 列表(List)