【问题标题】:Maintaining logs in redis cache using java使用java在redis缓存中维护日志
【发布时间】:2015-04-29 23:14:43
【问题描述】:

要求 - 我们的应用程序处理包含记录的文件,并且我们必须维护每个文件中记录的日志。日志文件有时很容易达到 100 MB。

解决方案 - 由于数据库操作会非常繁重,所以我们想使用内存缓存。将特定文件的日志写入 redis 键(键可能是唯一的文件名本身)。稍后当用户想要查看日志文件时,应用程序应该能够使用唯一的密钥文件名从缓存中读取内容,并将其内容写入用户可以查看/下载的文件。

问题 - 这是一个好主意吗,我们不断将特定文件的日志附加到同一个键,然后当我们必须写入文件时,我们从键中读取并写入文件的内容?基本上,redis 键的值总是字符串,它的大小可能会达到 100 MB。这样会不会有什么问题?

【问题讨论】:

    标签: redis


    【解决方案1】:

    您可以轻松地使用 redis 实现,但不要忘记 redis 是内存存储(确保您不会用完 RAM)。问问自己,在处理文件时,为什么要在普通磁盘操作上进行内存存储。如果您觉得发生更频繁的读取操作并且访问时间至关重要,请继续使用 redis。

    关于大小 - 100MB 不是问题,在 redis 字符串中最多可以容纳 512MB & List, Set, Hashes 可以容纳 >40 亿条记录

    我更喜欢 MongoDB(它是一个基于磁盘的文档存储)来进行这种操作而不是 redis。

    考虑查看this link 以了解 Redis 何时很棒。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-21
      • 2018-06-25
      • 1970-01-01
      • 2020-07-30
      • 1970-01-01
      • 1970-01-01
      • 2017-05-24
      • 2017-01-09
      相关资源
      最近更新 更多