我们正在尝试通过Redis实现缓存我理解它将数据存储到自己的格式RDB文件中。但是我们已经拥有了其他客户端使用的Oracle持久性。因此,我们希望将数据保存在Oracle DB中,而不是存储在RDB文件中。
答案 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数据库就无法应对它们。所以我再一次认为这不是推荐的架构。