【发布时间】:2019-04-02 15:52:31
【问题描述】:
我需要设置一个缓存系统,该系统能够缓存一些 GB 的数据而不会消耗太多 RAM。是否可以将 Redis 配置为在达到 X RAM 使用量时自动使用磁盘存储?如果没有,是否有任何内存数据库可以做到这一点?
【问题讨论】:
我需要设置一个缓存系统,该系统能够缓存一些 GB 的数据而不会消耗太多 RAM。是否可以将 Redis 配置为在达到 X RAM 使用量时自动使用磁盘存储?如果没有,是否有任何内存数据库可以做到这一点?
【问题讨论】:
如果您需要一个缓存系统,为什么要溢出到磁盘而不只是从缓存中删除(可能是旧的和未使用的)条目?
当内存达到一定限制时,Redis 有各种策略...
请阅读关于memory configuration and eviction policies的Redis文档
redis.conf 的底线是可以配置内存限制和缓存策略(可能在这里volatile-lru 或allkey-lru 会有所帮助)
【讨论】:
不,你不能。
Redis 将所有数据存储在内存中,所有磁盘存储仅用于恢复。
也许你可以试试其他的k-v store,例如:RocksDB、LevelDB。
【讨论】: