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.htmlredis.conf的配置文件中查看端口号  搜索 port
redis.conf的配置文件中查看密码  搜索 requirepass
 

原文地址:https://www.cnblogs.com/init-007/p/10957808.html

时间: 2024-11-08 06:58:33

redis连接密码和指定数据库的相关文章

redis远程密码连接

一.修改redis.conf文件 1.设置连接密码 2.修改ip(默认是127.0.0.1)及端口. 二.指定配置文件启动redis. src/redis-server ./redis.conf   #指定redis.conf作为启动配置文件 三.远程连接redis src/redis-cli -h 192.168.124.145 -p 15163 -a 123456

(转)连接带有密码的ACCESS数据库时出现“无法启动应用程序。工作组信息文件丢失,或是已被其它用户以独占方式打开”的解决方法

原文:http://www.cnblogs.com/chiname/articles/582539.html 连接带有密码的ACCESS数据库时出现“无法启动应用程序.工作组信息文件丢失,或是已被其它用户以独占方式打开”的解决方法:此问题是由数据库的连接串引起的,可用下面的串连接即可 Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=true;Data Source=<YourPath>;Jet OLEDB:Database Pass

C++用sqlite3_open连接打开指定数据库的小问题

一开始我也纳闷,我以为是我数据库没弄好,但是当我仔细检查,才发现 原来我少了分号 写少了分号,可能会导致  database    和  table    找不到... 所以用的时候需要注意... 代码部分: #include "stdafx.h" #include "sqlite3.h" #include <iostream> using namespace std; sqlite3 * pDB = NULL; int _tmain(int argc,

Redis 连接

Redis 连接命令主要是用于连接 redis 服务. 实例 以下实例演示了客户端如何通过密码验证连接到 redis 服务,并检测服务是否在运行: redis 127.0.0.1:6379> AUTH "password" OK redis 127.0.0.1:6379> PING PONG Redis 连接命令 下表列出了 redis 连接的基本命令: 序号 命令及描述 1 AUTH password 验证密码是否正确 2 ECHO message 打印字符串 3 PIN

spring boot(9) redis(连接,增删改查,集群,和session一起使用)

1.建立连接 1.1 pom.xml <!-- redis 相关支持 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-redis</artifactId> <version>1.3.2.RELEASE</version> </dependency> 1.2 app

scrapy 如何链接有密码的redis scrapy-redis 设置redis 密码 scrapy-redis如何为redis配置密码

# 使用scrapy_redis的调度器SCHEDULER = "scrapy_redis.scheduler.Scheduler"# 使用scrapy_redis的去重机制DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"# 在ITEM_PIPELINES中添加redis管道# 'scrapy_redis.pipelines.RedisPipeline': 200# 定义redis主机地址和端口号

Redis 连接参数以及常用命令

redis安装后,在src和/usr/local/bin下有几个以redis开头的可执行文件,称为redis shell,这些可执行文件可做很多事情. 可执行文件 作用 redis-server  启动redis redis-cli redis命令行工具 redis-benchmark 基准测试工具 redis-check-aof AOF持久化文件检测工具和修复工具 redis-check-dump RDB持久化文件检测工具和修复工具 redis-sentinel 启动redis-sentine

Redis连接池Lettuce Jedis 区别

Lettuce 和 Jedis 的定位都是Redis的client,所以他们当然可以直接连接redis server. pring boot框架中已经集成了redis,在1.x.x的版本时默认使用的jedis客户端,现在是2.x.x版本默认使用的lettuce客户端. JedisJedis在实现上是直接连接的redis server,如果在多线程环境下是非线程安全的,这个时候只有使用连接池,为每个Jedis实例增加物理连接 LettuceLettuce的连接是基于Netty的,连接实例(Stat

使用redis缓存加索引处理数据库百万级并发

使用redis缓存加索引处理数据库百万级并发 前言:事先说明:在实际应用中这种做法设计需要各位读者自己设计,本文只提供一种思想.准备工作:安装后本地数redis服务器,使用mysql数据库,事先插入1000万条数据,可以参考我之前的文章插入数据,这里不再细说.我大概的做法是这样的,编码使用多线程访问我的数据库,在访问数据库前先访问redis缓存没有的话在去查询数据库,需要注意的是redis最大连接数最好设置为300,不然会出现很多报错. 贴一下代码吧 1 2 3 4 5 6 7 8 9 10 1