redis
文章平均质量分 88
JellyfishMIX
qunar -- java 开发
展开
-
传统关系型数据库(mysql),缓存(redis),elasticsearch
toC 或高 QPS 的应用,通常会在 mysql 前面加缓存(例如 redis)。查询的数据如果缓存中有,则直接从缓存中返回(称为命中缓存),不再查询 mysql,减少了对 mysql 的 IO 压力。原创 2022-11-04 16:19:03 · 1753 阅读 · 1 评论 -
redis 的渐进式 rehash,为什么 java 不采用渐进式 rehash
渐进式 rehash 只适合用在作为共享变量的哈希表中,且多次方法调用(特别是多次请求)都会去操作这个共享变量。这样才能发挥其 rehash 耗时每次调用均分的优势。比如 redis 的 dict 就是很好的例子。原创 2022-10-28 22:49:33 · 444 阅读 · 0 评论 -
redis cluster 集群模式存在的问题
如果用子线程去执行 migrate,那么 redis 就是多线程操作数据,这样会引入线程之间的锁竞争和并发控制,这就违背了最初的设计。此外,RDB 的生成是 fork 了主进程,生成快照,不是子线程。咨询了 DBA 同事,解决方案是用 DBA 自己的工具(这个工具可以根据具体情况去开发),将数据拆分迁移到其他分片,并没有使用 redis 官方的命令 migrate。migrate 命令是一个原子操作,它在执行的时候会阻塞进行迁移的两个实例,直到以下任意结果发生:迁移成功,迁移失败,等待超时。原创 2022-10-28 22:45:07 · 2327 阅读 · 0 评论 -
redis 实现搜索热词统计
核心需求一个项目中,遇到了搜索热词统计的需求,我使用了 Redis 的五大数据类型之一 Sorted Set 实现。目前有两项数据需要统计:“当日搜索热词 top10”和“当周搜索热词 top10”。关于这两项数据的统计方法,目前想到了两种实现方法:两个 Redis 的 Sorted Set 实现,一个 Sorted Set A 统计当天,0 点 top10 记录进 MySQL,Sorted Set 清零。一个 Sorted Set B 统计当周,每周日 top10 记录进 MySQL,Sorted原创 2020-06-03 14:28:45 · 3867 阅读 · 5 评论