gpt4 book ai didi

java - 将表从 Oracle 复制到 Redis

转载 作者:行者123 更新时间:2023-12-03 06:37:35 26 4
gpt4 key购买 nike

我在 Oracle 12g 中有一张表( 1 cr 记录 ),每天凌晨 4:00 更新(来自其他/ETL 源),这是我的用户主表。
我正在使用此表来验证我的用户。

如此简单的方法是从数据库中获取它,但我想在 ETL 操作后每天将表移动/更新到 Redis 中,这样我就不必为每个身份验证连接数据库。

一种方法是用 Java 编写调度程序/Cron 作业,该作业将在 ETL 操作后运行以复制表记录并插入 Redis。

有没有更好的方法呢?喜欢使用 oRedis 直接从 Oracle 数据库或其他东西更新 Redis 缓存?

PS:现在我正在使用 Redis 和 Java( redisson ) 进行缓存。

我正在使用 Netflix Zuul 过滤器进行身份验证,因此每个请求都将在 Zuul 过滤器中进行身份验证,因此为每个请求连接数据库的操作似乎很昂贵。

最佳答案

One way is write a scheduler/Cron job in Java which will run after ETL operation to copy table record and insert into Redis.



Oracle 支持可以用 Java 编写的存储过程
https://docs.oracle.com/cd/B19306_01/java.102/b14187/chfive.htm
在这种情况下,您的代码将更接近数据,因此它可能会工作 更快不仅仅是一个桌面java应用程序。

然后,您可能需要使用 Oracle DBMS_SCHEDULER 安排每日同步
https://docs.oracle.com/database/121/ARPLS/d_sched.htm#ARPLS72235

访问oracle表最快的是 行ID
https://docs.oracle.com/cd/B19306_01/server.102/b14200/pseudocolumns008.htm
因此,同步周期取决于插入行的频率。
您只需要使用 访问您的表以获取每日/每小时数据。行ID .

请注意, 行ID 在数据库迁移/移动/主要维护操作期间可能会更改。
What can cause an Oracle ROWID to change?

关于java - 将表从 Oracle 复制到 Redis,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59629988/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com