有一个问题想要专家给下好的建议。本来我是使用redis缓存的(单机项目),但是个人社区博客项目(huijava.com)嘛,觉得redis比较贵,而且需要做文章内容搜索,es无法使用(打算也是用RocksDB+Ansj分词器自己进行开发),服务器内存不够。只有2G。所以就像改造一下RocksDB,将RocksDB改造成可以进行设置缓存过期时间的缓存框架,暂时只能想到,使用一个项目作为守护项目,维护RocksDB的过期删除,我想到使用RocksDB也将过期时间进行存储防止项目重启或者挂掉。但是也无法防止RocksDB本身插入失败的情况,导致某个k-v永远都不会过期删除。请问您那边有什么建议吗?主要就是使用RocksDB作为缓存数据库使用的场景。
问题来自Java技术沙龙的陈浩翔
Java线下沙龙报名链接:https://yq.aliyun.com/activity/796
你好。RocksDB我看了介绍。就目前你的项目和服务器配置,内存太小,缓存的数据少。
感觉是有Ehcache更适合你的场景,而且效率更高。
你要求的缓存数据过期和垃圾回收,Ehcache都支持。
而且对于小项目,是有进程内缓存其实效率更高。
RocksDB其实还是分布式缓存,独立安装部署,目前看文档还没有过期回收的自动机制,自己实现技术成本高。
不如直接Ehcache应该是更高的选择,你感觉呢。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。