zoukankan      html  css  js  c++  java
  • redis连接密码和指定数据库

    台服务器上都快开启200个redis实例了,看着就崩溃了。这么做无非就是想让不同类型的数据属于不同的应用程序而彼此分开。
    
    那么,redis有没有什么方法使不同的应用程序数据彼此分开同时又存储在相同的实例上呢?就相当于mysql数据库,不同的应用程序数据存储在不同的数据库下。
    
    redis下,数据库是由一个整数索引标识,而不是由一个数据库名称。默认情况下,一个客户端连接到数据库0。redis配置文件中下面的参数来控制数据库总数:
    
    databases 16
    
    可以通过下面的命令来切换到不同的数据库下
    
    user
    
    redis> select user
    
    OK
    
    随后,所有的命令将使用数据库3,知道你明确的切换到另一个数据库下。
    
    每个数据库都有属于自己的空间,不必担心之间的key冲突。
    
    不同的数据库下,相同的key取到各自的值。
    
    flushdb命令清除数据,只会清除当前的数据库下的数据,不会影响到其他数据库。
    
    flushall命令会清除这个实例的数据。在执行这个命令前要格外小心。
    
    数据库的数量是可以配置的,默认情况下是16个。修改redis.conf下的databases指令:
    
    databases 64
    
    redis没有提供任何方法来关联标识不同的数据库。因此,需要你来跟踪什么数据存储到哪个数据库下。
    
    因此上面的快开启200个实例的场景,可以使用不同的数据库来存储,而不必开启如此那么多的实例。
    
    实际编程中,redis分片操作,引用jedis jar包
    
    import redis.clients.jedis.JedisShardInfo;
    
    JedisShardInfo shard = new JedisShardInfo(node.getHost(), node.getPort(), node.getName());
    
    shard.setPassword(node.getPassword());
    
    shard.setDb(dbIndex);
    
    shards.add(shard);
    
    这里的shard.setDb(2) 相当于控制台里输入 "select 2" 选择数据库2(是从数据库0开始的)
    <?php
    $redis = new Redis();
    
    $redis->connect('127.0.0.1', 6379); //连接Redis
    
    $redis->auth('mypasswords123sdfeak'); //密码验证
    
    $redis->select(user);//选择数据库user
    
    $redis->set( "testKey" , "Hello Redis"); //设置测试key
    
    echo $redis->get("testKey");//输出value
    
    ?>
    以上来自运维生存时间: http://www.ttlsa.com/html/4010.html
    redis.conf的配置文件中查看端口号 搜索 port
    redis.conf的配置文件中查看密码  搜索 requirepass
     
  • 相关阅读:
    sqlserver优化查询
    DateADD日期Sql
    sql 数据字段类型
    sql Server 发送邮件 错误类型及原因
    EassyUI内置方法与属性
    这货不是 for循环
    1.switch选择结构 3.多重if选择结构和switch比对 4.总结选择结构 5.使用hasNextInt()解决用户从控制台输入为非整型问题
    1.基本选择结构if 2.逻辑运算符 3.if-else 4.多重if选择结构 5.嵌套if选择结构
    编写java程序步骤
    css3
  • 原文地址:https://www.cnblogs.com/init-007/p/10957808.html
Copyright © 2011-2022 走看看