我正在为macOS构建一个桌面应用程序,允许用户浏览一组视频。为每个视频生成缩略图是一项相对昂贵的操作,因此我想要缓存已生成的任何缩略图。此缓存不需要在应用程序启动时保持不变。速度并不重要,因为几乎任何东西都比解码视频帧更快。
我考虑使用RocksDB来存储缩略图,并且想知道这是否适合使用RocksDB。大多数RocksDB文档都涉及设置和获取字符串作为值,但在最近的版本中,添加PinnableSlice
似乎可以更容易地存储二进制数据。在我的应用程序中,我将存储大量压缩的JPEG数据,缩略图最大为512 x 512px。
以这种方式使用RocksDB时,我应该考虑什么?是否有任何配置选项有利于调整或调整此类用例?我更喜欢RocksDB保持较低的内存开销,因为当需要缩略图时,我愿意接受从磁盘读回的性能损失。
(如果使用RocksDB作为图像缓存是一个非常糟糕的想法,那么我想更好地理解为什么。)