我们想使用redisson-hibernate项目https://github.com/redisson/redisson/tree/master/redisson-hibernate支持redis 2级缓存。

我使用相同的Redis数据库在多个容器中测试了redisson-hibernate模块。我们在相同的Redis中使用相同的数据库。
但是它不会共享相同的数据。第一个容器中的Java应用程序看不到第二个容器中Java应用程序所做记录的更新。每个Java应用程序都有自己的记录版本。

Redisson Hibernate Cache Module可以在多个容器中共享相同的数据吗?

我们的redisson.yaml文件内容:

singleServerConfig:
  idleConnectionTimeout: 10000
  connectTimeout: 10000
  timeout: 3000
  retryAttempts: 3
  retryInterval: 1500
  password: null
  subscriptionsPerConnection: 5
  clientName: null
  address: "redis://127.0.0.1:6380"
  subscriptionConnectionMinimumIdleSize: 1
  subscriptionConnectionPoolSize: 50
  connectionMinimumIdleSize: 24
  connectionPoolSize: 64
  database: 0
  dnsMonitoringInterval: 5000
threads: 16
nettyThreads: 32
codec: !<org.redisson.codec.FstCodec> {}
transportMode: "NIO"


我们使用hibernate与postgresql数据库进行交互,这是我们的hibernate连接属性文件的内容:

hibernate.connection.url=jdbc:postgresql://localhost:5439/testdb
hibernate.connection.username=testdb
hibernate.connection.password=testdb567
hibernate.connection.driver_class=org.postgresql.Driver
hibernate.connection.pool_size=10
hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
hibernate.transaction.factory_class=org.hibernate.transaction.JDBCTransactionFactory
hibernate.current_session_context_class=thread
hibernate.show_sql=true
hibernate.cache.region.factory_class=org.redisson.hibernate.RedissonRegionFactory
hibernate.cache.use_query_cache=true
hibernate.cache.use_second_level_cache=true
hibernate.cache.redisson.fallback=true
hibernate.cache.redisson.config=redisson.yaml

最佳答案

是的,它确实。这是模块的目的。


第一个容器中的Java应用程序看不到记录的更新


您可能连接到相同的Redis,但连接的数据库不同。如果定义了此选项。


每个Java应用程序都有自己的记录版本。


在Redis中这是不可能的。

您能否描述您的应用程序结构和Redis设置?

关于java - Redisson Hibernate Cache Module是否在多个容器中共享相同的数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60432692/

10-13 05:30