枫--- 2018-01-24 02:07 采纳率: 50%
浏览 4481
已采纳

怎么将数据存储在一台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");
    //取值

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题