PHP操作Redis(一) PHP连接Redis,含Redis密码验证、指定某一Redis数据库

台服务器上都快开启200个redis实例了,看着就崩溃了。这么做无非就是想让不同类型的数据属于不同的应用程序而彼此分开。

那么,redis有没有什么方法使不同的应用程序数据彼此分开同时又存储在相同的实例上呢?就相当于mysql数据库,不同的应用程序数据存储在不同的数据库下。

redis下,数据库是由一个整数索引标识,而不是由一个数据库名称。默认情况下,一个客户端连接到数据库0。redis配置文件中下面的参数来控制数据库总数:

1

databases 16

可以通过下面的命令来切换到不同的数据库下

1

2

redis> select 2

OK

随后,所有的命令将使用数据库3,知道你明确的切换到另一个数据库下。

每个数据库都有属于自己的空间,不必担心之间的key冲突。

不同的数据库下,相同的key取到各自的值。

flushdb命令清除数据,只会清除当前的数据库下的数据,不会影响到其他数据库。

flushall命令会清除这个实例的数据。在执行这个命令前要格外小心。

数据库的数量是可以配置的,默认情况下是16个。修改redis.conf下的databases指令:

1

databases 64

redis没有提供任何方法来关联标识不同的数据库。因此,需要你来跟踪什么数据存储到哪个数据库下。

因此上面的快开启200个实例的场景,可以使用不同的数据库来存储,而不必开启如此那么多的实例。

转载请注明来自运维生存时间: http://www.ttlsa.com/html/4010.html

---

实际编程中,redis分片操作,引用jedis jar包

  1. import redis.clients.jedis.JedisShardInfo;
  2.  
  3. JedisShardInfo shard = new JedisShardInfo(node.getHost(), node.getPort(), node.getName());
  4. shard.setPassword(node.getPassword());
  5. shard.setDb(dbIndex);
  6. 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(2);//选择数据库2

$redis->set( "testKey" , "Hello Redis"); //设置测试key

echo $redis->get("testKey");//输出value

?>

原文地址:https://www.cnblogs.com/hnhycnlc888/p/9551779.html

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

PHP操作Redis(一) PHP连接Redis,含Redis密码验证、指定某一Redis数据库的相关文章

Docker中的Redis容器如何连接上进行操作?

Docker中的Redis容器如何连接上进行操作? 1.登录putty有如下信息: 公用虚拟 IP (VIP)地址42.159.156.115内部 IP 地址10.205.178.22IP address for eth0:    10.205.178.22IP address for docker0: 172.17.42.1 2. 下载 http://download.redis.io/redis-stable/redis.conf修改如下字段 # requirepass foobared去掉

用Redis Desktop Manager连接Redis

Redis Desktop Manager是Redis图形化管理工具,方便管理人员更方便直观地管理Redis数据. 然而在使用Redis Desktop Manager之前,有几个要素需要注意: 一.注释redis.conf文件中的:bind 127.0.0.1(在一段文字之前打#号为注释) 二.设置Redis密码.在设置密码之前,首先要开启服务端,然后再用客户端进行连接,最后通过客户端来设置密码. 1.新建一个终端,开启服务. 2.再开启一个终端,连接并设置密码. 涂抹那部分是因为我之前设置过

通过jedis连接redis单机成功,使用redis客户端可以连接集群,但使用JedisCluster连接redis集群一直报Could not get a resource from the pool

一,问题描述: (如题目)通过jedis连接redis单机成功,使用JedisCluster连接redis集群一直报Could not get a resource from the pool 但是使用redis客户端可以连接集群(我使用的redis desktop manager) 在java中通过jedis连接redis单机也成功,但使用JedisCluster连接redis集群一直报Could not get a resource from the pool, 我以命令行方式操作是没问题的

用Redis Desktop Manager连接Redis(CentOS)

Redis Desktop Manager是Redis图形化管理工具,方便管理人员更方便直观地管理Redis数据. 然而在使用Redis Desktop Manager之前,有几个要素需要注意: 一.注释redis.conf文件中的:bind 127.0.0.1(在一段文字之前打#号为注释) 二.设置Redis密码.在设置密码之前,首先要开启服务端,然后再用客户端进行连接,最后通过客户端来设置密码. 1.新建一个终端,开启服务. 2.再开启一个终端,连接并设置密码. 涂抹那部分是因为我之前设置过

[ 搭建Redis本地服务器实践系列三 ] :图解Redis客户端工具连接Redis服务器

上一章 [ 搭建Redis本地服务器实践系列二 ] :图解CentOS7配置Redis  介绍了Redis的初始化脚本文件及启动配置文件,并图解如何以服务的形式来启动.终止Redis服务,可以说我们的Redis本地服务器已基本搭建完成,那可能就有小伙伴要问了,什么叫基本搭建完成,原因是此时的Redis服务虽然已经可以正常启\停,但是客户端还无法远程连接到Redis并执行响应的操作.若要实现远程客户端正常连接,我们仍需要对Redis启动配置文件进行一些设置,这个章节我们重点来讲解下如何对Redis

redis连接密码和指定数据库

台服务器上都快开启200个redis实例了,看着就崩溃了.这么做无非就是想让不同类型的数据属于不同的应用程序而彼此分开. 那么,redis有没有什么方法使不同的应用程序数据彼此分开同时又存储在相同的实例上呢?就相当于mysql数据库,不同的应用程序数据存储在不同的数据库下. redis下,数据库是由一个整数索引标识,而不是由一个数据库名称.默认情况下,一个客户端连接到数据库0.redis配置文件中下面的参数来控制数据库总数: databases 16 可以通过下面的命令来切换到不同的数据库下 u

Redis 安装 启动 连接 配置 重启

Linux下安装 ]# wget http://download.redis.io/releases/redis-2.8.17.tar.gz ]# tar xzf redis-2.8.17.tar.gz ]# cd redis-2.8.17 ]# make 启动redis服务 ]# cd src ]# ./redis-server 上面这种启动 redis使用的是默认配置,也可以通过启动参数告诉redis使用指定配置 ]# ./redis-server redis.config 连接redis

redis三种连接方式

安装 tar zxvf redis-2.8.9.tar.gz cd redis-2.8.9 #直接make 编译 make #可使用root用户执行`make install`,将可执行文件拷贝到/usr/local/bin目录下.这样就可以直接敲名字运行程序了. make install 启动 #加上`&`号使redis以后台程序方式运行 ./redis-server & 检测 #检测后台进程是否存在 ps -ef |grep redis #检测6379端口是否在监听 netstat -

群福利:Redis云服务器免费领取(附Redis安装和连接远程连接Redis案例)

Redis安装:在线体验:https://try.redis.io Ubuntu:sudo apt-get install redis CentOS:yum install redis (root权限) Win系列:https://github.com/MicrosoftArchive/redis/releases win系列工具打包(7day)https://pan.baidu.com/s/14zkWUuwWa6e4akLU1toLQA 有点限制~1个数据库,30个并发,学习和个人使用是够了