我可以在Oracle数据库中保存redis数据吗?

时间:2014-03-18 11:40:07

标签: database-design redis in-memory-database

我们正在尝试通过Redis实现缓存我理解它将数据存储到自己的格式RDB文件中。但是我们已经拥有了其他客户端使用的Oracle持久性。因此,我们希望将数据保存在Oracle DB中,而不是存储在RDB文件中。

1 个答案:

答案 0 :(得分:4)

在这种情况下禁用文件写入,并将Redis用作纯内存缓存。 要做到这一点,只需在redis.conf中注释所有“保存”行。

在伪代码中,读取值应该像这样:

result = get value from redis
if(result is null)
{
   result = get value from Oracle
   store result in redis
}
return result

更新:在评论中进行一些交流之后是另一种选择

创建一个假的redis slave,它将连接到Redis实例,然后在Oracle数据库上重现写操作。查看redis文档以了解复制的工作原理。

但这不是一件小事。您必须解释Redis命令并应用相应的SQL命令,并在Oracle数据库失败时处理重新同步。性能取决于写操作的数量。如果它们太多,Oracle数据库就无法应对它们。所以我再一次认为这不是推荐的架构。