我们想使用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/