美文网首页程序员技术文
使用redis实现日志功能,支持按天获取日志

使用redis实现日志功能,支持按天获取日志

作者: dugangabc | 来源:发表于2016-01-30 12:34 被阅读2956次

    通常可使用redis的list数据结构形成日志。但list仅支持对数量进行筛选。如获取近100条日志记录。无法实现获取近30天数据。

    当然可以使用sorted set实现按天获取,但当日志数量不断增加时,sorted set的额外开销还是比较大的。为了高效满足需求,可使用两层list实现。

    解决方法:在记录日志时,可将日志按天归档在不同的list当中,如2015年12月1日的数据归档在在key为20151201的list中。其中20151201为归档时间。然后额外设定一个用于保存归档时间的list。如key为archive,value为[20151202, 20151201],这样仅需要用lrange命令就可以从archive获取到近30天归档,然后去相应的list去访问具体数据。非常高效

    下图为写日志的流程图

    屏幕快照 2016-01-30 下午1.47.25.png

    相关文章

      网友评论

        本文标题:使用redis实现日志功能,支持按天获取日志

        本文链接:https://www.haomeiwen.com/subject/hsojkttx.html