redis超大key的定时任务设计
如果遇到一个上百万的key需要做定时任务扫描处理改怎么办呢?
1、菜鸟做法是直接使用key *命令,其实这种做法在生产上是不被允许的,key * 会扫描整个redis库,频繁的扫库会导致redis压力过大而崩溃;
2、一般的程序员知道使用hashset,不用对整个redis库,但如果key值过大每次扫描也是相当地考验机器系统性能,想想每次都读取百万的数据那是什么概念;
3、聪明人做法就是借鉴hbase的时间戳做rowkey的做法,将时间戳融入redis的key值设计中,通过滚动时间的方式操作对应一小部分数据;
例如按yyyyMMddHHmm格式作为hashset的key,每分钟只需处理对应的key数据

浙公网安备 33010602011771号