redis超大key的定时任务设计

如果遇到一个上百万的key需要做定时任务扫描处理改怎么办呢?

1、菜鸟做法是直接使用key *命令,其实这种做法在生产上是不被允许的,key * 会扫描整个redis库,频繁的扫库会导致redis压力过大而崩溃;

2、一般的程序员知道使用hashset,不用对整个redis库,但如果key值过大每次扫描也是相当地考验机器系统性能,想想每次都读取百万的数据那是什么概念;

3、聪明人做法就是借鉴hbase的时间戳做rowkey的做法,将时间戳融入redis的key值设计中,通过滚动时间的方式操作对应一小部分数据;

例如按yyyyMMddHHmm格式作为hashset的key,每分钟只需处理对应的key数据

posted @ 2020-01-08 10:55  sir6  阅读(297)  评论(0)    收藏  举报