枫---
2018-01-24 02:07
采纳率: 50%
浏览 4.4k

怎么将数据存储在一台redis服务分布在不同的redis数据库中

我在Windows上搭建了一个redis服务器,我想将数据缓存在这台redis上,但是所有的
数据都会默认缓存在index为0的这个数据库当中,怎么样才能将数据存储在不同下标上
的redis数据库?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • linmomo02 2018-01-24 02:12
    已采纳

    redis 本身支持16个数据库,通过 数据库id 设置,默认为0
    设置redis的dbIndex方法有2种:
    1.通过构造函数设置;
    2.通过set方法设置;

    先说第一种:
    在使用redis时,java中使用的是java版本的redis,即:jedis;具体写法如下:
    JedisPool pool = new JedisPool(jredisConfig, server, Integer.valueOf(port));
    Jedis redis = pool.getResource();
    String value = redis.get("key");
    //取值

    构造函数有多个重载函数其中有下面一个:
    public JedisPool(org.apache.commons.pool.impl.GenericObjectPool.Config poolConfig, String host, int port, int timeout, String password, int database);
    poolConfig: jedis配置信息,如:maxActive,maxIdle,minIdle,maxWait
    host: ip
    port: 端口
    timeout:超时时间,默认为2000
    password:密码,可为null
    database:第几个数据库,默认:0
    更换以上这个构造函数,就可以设置database了

    第二种:通过set方法设置
    JedisPool pool = new JedisPool(jredisConfig, server, Integer.valueOf(port));
    Jedis redis = pool.getResource();
    redis.select(index);
    //需要调用一个方法,设置使用第几个database
    String value = redis.get("key");
    //取值

    点赞 评论
  • qq_24859333 2018-01-24 03:29

    连接缓冲池实例化 RedisClient database参数对应的分库就好了

    点赞 评论
  • tree_legend 2018-01-24 06:37

    图片说明

    redis实际上室友db的概念的,最后一个参数就是这个redispoll默认写入的db,具体你的redis有几个db在查阅其他文档

    点赞 评论

相关推荐 更多相似问题