首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Java

spring boot2.1 为什么切换不了 redis 的 databases

  •  
  •   shayang888 · 114 天前 · 853 次点击
    这是一个创建于 114 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我的 pom

    <dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-starter-data-mongodb-reactive</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-starter-data-redis-reactive</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-starter-webflux</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework.session</groupId>
    			<artifactId>spring-session-data-redis</artifactId>
    		</dependency>
    

    application.properties

    spring.data.mongodb.uri=mongodb://localhost:27017/apitest
    spring.jackson.time-zone=GMT+8
    spring.redis.host=localhost
    spring.redis.database=1
    spring.redis.port=6379
    spring.session.store-type=redis
    

    我发现我运行后,始终只出现在 database=0 有数据,database=1 是空的

        1
    leriou   114 天前
    跟 pom 没关系吧, 先 select db,每个 db 写两条数据看看, 再测试, redis 里面如果本来其他 db 就没有数据有啥用, redis 集群的话也用不了 db
        2
    shayang888   114 天前
    @leriou application.properties 里的配置我都没变过 就 pom 里 redis 改成了 reactive 的,boot starter 改成了 webflux 的 之前的旧的我改成几数据就在几里 这个新特性就变成这样了
        3
    wowo243   114 天前 via Android
    看源码呗,这里问有啥用
        4
    xgfan   114 天前 via iPhone
    看下那几个 autoconfig 的源码就好了
        5
    artist   114 天前   ♥ 1
    JedisConnectionFactory
    /**
    * Sets the index of the database used by this connection factory. Default is 0.
    *
    * @param index database index.
    * @deprecated since 2.0, configure the client name using {@link RedisSentinelConfiguration} or
    * {@link RedisStandaloneConfiguration}.
    */
    @Deprecated
    public void setDatabase(int index) {

    Assert.isTrue(index >= 0, "invalid DB index (a positive index required)");

    if (isRedisSentinelAware()) {
    sentinelConfig.setDatabase(index);
    return;
    }

    standaloneConfig.setDatabase(index);
    }
        6
    shayang888   114 天前
    @artist 我按你说的,专门创建了个 config 类来设置 database 也没用 我 redis 里 select 1 keys "*"返回的还是空的,数据都在 0 里面
        7
    shayang888   114 天前
    @artist 解决了 谢谢
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1040 人在线   最高记录 4346   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 19ms · UTC 23:58 · PVG 07:58 · LAX 15:58 · JFK 18:58
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1