开发者社区> 问答> 正文

[@徐雷frank][¥20]使用RocksDB作为缓存数据库使用的场景的问题

有一个问题想要专家给下好的建议。本来我是使用redis缓存的(单机项目),但是个人社区博客项目(huijava.com)嘛,觉得redis比较贵,而且需要做文章内容搜索,es无法使用(打算也是用RocksDB+Ansj分词器自己进行开发),服务器内存不够。只有2G。所以就像改造一下RocksDB,将RocksDB改造成可以进行设置缓存过期时间的缓存框架,暂时只能想到,使用一个项目作为守护项目,维护RocksDB的过期删除,我想到使用RocksDB也将过期时间进行存储防止项目重启或者挂掉。但是也无法防止RocksDB本身插入失败的情况,导致某个k-v永远都不会过期删除。请问您那边有什么建议吗?主要就是使用RocksDB作为缓存数据库使用的场景。

问题来自Java技术沙龙的陈浩翔
Java线下沙龙报名链接:https://yq.aliyun.com/activity/796

展开
收起
管理贝贝 2018-11-30 17:27:47 3757 0
1 条回答
写回答
取消 提交回答
  • 1.阿里云大学讲师,主讲《微服务Spring Cloud设计与开发实战》《MongoDB高级实战》等课程 2.MongoDB中文社区专家 3.《MongoDB实战》第2版译者 5.吉林大学计算机科学学士、上海交通大学硕士

    你好。RocksDB我看了介绍。就目前你的项目和服务器配置,内存太小,缓存的数据少。
    感觉是有Ehcache更适合你的场景,而且效率更高。
    你要求的缓存数据过期和垃圾回收,Ehcache都支持。
    而且对于小项目,是有进程内缓存其实效率更高。
    RocksDB其实还是分布式缓存,独立安装部署,目前看文档还没有过期回收的自动机制,自己实现技术成本高。
    不如直接Ehcache应该是更高的选择,你感觉呢。

    2019-07-17 23:17:50
    赞同 1 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
基于英特尔 SSD 的虚拟机缓存解决SSD 立即下载
用户态高速块缓存方案 立即下载
高性能Web架构之缓存体系 立即下载