database-design - 我可以在 Oracle 数据库中持久化 redis 数据吗?

标签 database-design redis in-memory-database

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

最佳答案

在这种情况下禁用文件写入,并将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 数据库将无法处理它们。因此,我再次重申,我认为这不是推荐的架构。

关于database-design - 我可以在 Oracle 数据库中持久化 redis 数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22478274/

相关文章:

python - 8,000,000 条记录的高效内存存储 (Python)

android - 由于 Firebase 规则不是过滤器,那么我们如何过滤呢?

sql - 一栏表格是好的设计吗?

database-design - 如何为每种产品具有许多参数的多种产品设计产品表

redis - 作为 PyCharm 配置运行 redis-server

node.js - Kue 连接到 localhost 而不是 AWS elasticache 主机

node.js - GridDB Node.js 客户端将无法构建

cassandra - 在带有索引的内存数据库中寻找开源

mysql - 如何在单个表之间创建关系?

redis - 如何在分布式计算中保持强一致性?