我的应用程序需要多个RedisLabs数据库,如其主页所述:
计划中的多个专用数据库 我们在一个计划中启用多个DB,每个DB在一个专用进程中运行,并以非阻塞的方式运行。
我依赖弹簧云连接器来连接到Heroku (或者本地的Foreman ),RedisServiceInfoCreator类似乎允许一个RedisLabs URL,即REDISCLOUD_URL
下面是我如何配置我的第一个redis连接工厂:
@Configuration
@Profile({Profiles.CLOUD, Profiles.DEFAULT})
public class RedisCloudConfiguration extends AbstractCloudConfig {
@Bean
public RedisConnectionFactory redisConnectionFactory() {
PoolConfig poolConfig = ...
return connectionFactory().redisConnectionFactory("REDISCLOUD", new PooledServiceConnectorConfig(poolConfig));
}
...如果我打算使用几个redis实验室数据库,我应该如何配置第二个连接工厂?
发布于 2016-11-01 13:53:25
Redis将为您设置一个env,仅用于您创建的每个外接程序中的第一个资源。
如果在外接程序中创建多个资源,则应该自己设置env var,或者在代码中直接使用新的端点。
发布于 2014-10-26 03:05:58
简而言之,答案是肯定的,RedisConnectionFactory应该使用Jedis来连接到redis db。它使用的jedis池只能使用单个redis端点。在这方面,RedisLabs和基本红色没有什么不同。
您应该创建多个连接池来处理多个redis dbs/端点。
为了扩展,如果您使用多个dbs进行扩展,则不需要使用RedisLabs,因为它们支持使用单个端点进行集群。因此,您可以简单地使用所需的内存创建一个数据库,RedisLabs将为您创建一个集群,并自动缩放您的redis。
如果应用程序确实需要逻辑分离,那么创建多个dbs是正确的方法。
https://stackoverflow.com/questions/26555734
复制相似问题