Redis 连接介绍
Redis 连接命令主要是用于连接 redis 服务。
redis连接命令介绍
- AUTH password
- 说明:AUTH命令用来检测给定的密码和配置文件中的密码是否相同
- 返回:如果密码匹配则返回OK,否则返回一个错误
- 实例:
10.117.8.188:6379> AUTH 1245 //没有设置redis密码 (error) ERR Client sent AUTH, but no password is set 10.117.8.188:6379> CONFIG SET requirepass "123456" OK 10.117.8.188:6379> AUTH 123456 OK
- ECHO message
- 说明:用于打印给定的字符串
- 返回:返回字符串本身
- 实例:
10.117.8.188:6379> ECHO 'miss you' "miss you"
- PING
- 说明:客户端向redis服务器发送一个PING,判断服务器是否正常运行,正常返回PONG。通常用来测试与服务器的连接是否有效,或者用于测量延迟值
- 返回:正常的返回PONG,否则返回一个错误
- 实例:
10.117.8.188:6379> ping //连接正常 PONG 10.117.8.188:6379> ping //连接不正常 Could not connect to Redis at 10.117.8.188:6379: Connection refused
- QUIT
- 说明:用于关闭当前客户端与redis服务器的连接。一旦所有等待中的回复顺利的写入到客户端,连接就会自动关闭。
- 返回:总是返回OK;redis客户端中执行直接返回到命令行
- 实例:
10.117.8.188:6379> QUIT www@iZ23dvyt70vZ:~ $
- SELECT index
- 说明:用于切换到指定的数据库,index是指需要切换到的数据库的索引值,索引从0开始。redis服务默认连接0号数据库。总共16个数据库(0-15)
- 返回:总是返回OK
- 实例:
10.117.8.188:6379> SELECT 1 OK 10.117.8.188:6379[1]> SELECT 3 //注意 Redis 现在的命令提示符多了个 [1] OK 10.117.8.188:6379[3]> SELECT 15 //注意 Redis 现在的命令提示符多了个 [3] OK
phpredis使用redis连接
- connect(host,port,timeout,reserved,retry_interval,read_timeout), open()
- 说明:连接到redis服务,两个函数功能是相同的
- 参数:
- host:string类型,可以是主机IP地址,也可以是unix域套接字的路径,必要参数
- port:int类型,redis的对外端口,可选参数
- timeout:float类型,连接的过期时间(s/秒),0表示无限制连接时间,可选参数
- reserved:如果retry_interval存在,则reserved为空null
- retry_interval:int类型,断线重连时间,单位毫秒,可选项
- read_timeout:float类型,读取数据过期时间,可选项
- 返回:bool值,成功返回true,失败返回false
- 实例:
public function redisTestAction(){ $redis = new \Redis(); $res = $redis->connect('10.117.8.188',6379); var_dump($res); // bool(true) }
- pconnect(host,port,timeout,reserved,retry_interval,read_timeout), popen()
- 说明:和connect函数相似,参数类型和个数都一致,区别在于:pconnect是长连接,可以减少多次连接redis服务造成的资源浪费。
- auth(password)
- 说明:使用密码对连接进行身份认证。注意:密码已文本的形式通过网络发送(安全系数低)
- 参数:password(验证身份用的密码)
- 返回:验证成功返回true,失败则返回false
- 实例:
public function redisTestAction(){ $redis = new \Redis(); $redis->connect('10.117.8.188',6379); $res = $redis->auth('123456'); var_dump($res); // 验证失败,bool(false) }
- select(dbindex)
- 说明:切换当前连接所用的数据库
- 参数:dbindex(数据库索引值,0-15共16个数据库)
- 返回:成功切换返回true,失败则返回false
- 实例:
public function redisTestAction(){ $redis = new \Redis(); $redis->connect('10.117.8.188',6379); $res = $redis->select('12'); var_dump($res); //切换成功,返回bool(true) }
- swapdb(db1,db2)
- 说明:自动交换一个Redis数据库和另一个Redis数据库
- 参数:db1(给定的数据库1),db2(给定的数据库2)
- 返回:成功返回true,失败返回false
- 注意:该函数需要redis >= 4.0
- 实例:redis版本2.8.9,无法执行该函数
- close()
- 说明:断开redis客户端与服务端的连接
- 参数:无
- 返回:断开成功返回true,失败返回false
- 注意:close函数在phpredis >= 4.2才可以断开redis长连接(pconnect)
- 实例:
public function redisTestAction(){ $redis = new \Redis(); $redis->connect('10.117.8.188',6379); $res = $redis->close(); var_dump($res); // 断开成功,返回:bool(true) }
- setOption(name,value)
- 说明:设置当前redis客户端的选项
- 参数:
- name:选项名称
- value:选项的值
- 返回:选项设置成功返回true,失败返回false
- 实例:
public function redisTestAction(){ $redis = new \Redis(); $redis->connect('10.117.8.188',6379); $res = $redis->setOption(\Redis::OPT_PREFIX, 'myAppName:'); var_dump($res);//bool(true) 设置键前缀 $res1=$redis->setOption(\Redis::OPT_SERIALIZER,\Redis::SERIALIZER_PHP); var_dump($res1);//bool(true),设置序列化器 }
- getOption(name)
- 说明:获取当前客户端设置的选项
- 参数:name(选项的名称)
- 返回:选项的值
- 实例:
public function redisTestAction(){ $redis = new \Redis(); $redis->connect('10.117.8.188',6379); $redis->setOption(\Redis::OPT_PREFIX, 'myAppName:'); $redis->setOption(\Redis::OPT_SERIALIZER, \Redis::SERIALIZER_PHP); $res = $redis->getOption(\Redis::OPT_PREFIX); var_dump($res); // string(10) "myAppName:" $res1 = $redis->getOption(\Redis::OPT_SERIALIZER); var_dump($res1); // int(1) }
- ping()
- 说明:确认当前连接的状态
- 参数:无
- 返回:状态连接正确返回PONG,失败则返回一个连接错误
- 实例:
public function redisTestAction(){ $redis = new \Redis(); $redis->connect('10.117.8.188',6379); $res = $redis->ping(); var_dump($res); // string(5) "+PONG" }
- echo(message)
- 说明:向redis服务器发送一个字符串,redis服务器返回一个相同的字符串回来
- 参数:将要发送的字符串
- 返回:返回发送出去的字符串
- 实例:
public function redisTestAction(){ $redis = new \Redis(); $redis->connect('10.117.8.188',6379); $res = $redis->echo('testmessage'); var_dump($res); // string(11) "testmessage" }
有罪是符合人性的,但长期坚持不改就是魔鬼。