❶ php 连接redis,怎么判断Redis是否挂掉
一般链接redis,如果链接不上,或者redis挂掉,都会发生超时,你可以设置超时时间短一点,比如5秒。如果5秒链接不上则不连接了,继续往下,不影响整体代码运行。
<?php
$redis=newRedis();
$redis->connect($config['host'],$config['port'],$config['timeout']);
$redis->ping();//检测当前链接状态,返回PONG或者抛出异常。
❷ php 用redis储存session(修改PHP配置文件的),是哪种方式链接redis的
我的习惯是直接修改php.ini
session.save_handler = redis
session.save_path = "tcp://host1:6379?weight=1, tcp://host2:6379?weight=2&timeout=2.5, tcp://host3:6379?weight=2&persistent=1"
weight 服务器权重
persistent 持久性(整数,应该是1或0)
timeout 超时时长
❸ php 在什么情况下使用redis中的哈希类型
通过sentinel来获取redis的可用master ip来创建连接池连接,这里有一个很坑的地方,若sentinel和redis node部署在同一台服务器,sentinel监控的master ip不能写成127.0.0.1,需要写成真实IP。
sentinel在对外管理MASTER IP时,只是简单的将配置文件中的IP保存,而不会在对外提供服务时,动态转换为127.0.0.1所在机器的真实IP。
❹ php与redis长连接的问题
纵向的受拉钢筋最小搭接长度钢筋类型混凝土强度等级C15C20~C25C20C35≥C40光园钢筋HPB(I)级45d35d30d25d带肋钢筋HRB(II)级55d40d35d30dHRB400(III)级、RRB400(III)级---55d40d35d注1:本表适用于纵向受拉钢筋的绑扎接头面积百分率不大于25%的情况;当绑扎接头面积百分率介于25%~50%之间时,表中数值乘以系数1.2取用;当绑扎接头面积百分率大于50%时,表中数值乘以系数1.35取用;当最小搭接长度两根直径不同的钢筋搭接长度,以较细钢筋的直径计算;注2:当带肋钢筋直径Φ>25mm时,其最小搭接应按相应数值乘以系数1.1取用;对环氧树脂涂层的带肋钢筋,其最小搭接应按相应数值乘以系数1.25取用;在混凝土凝固过程中易受扰动时(如采用滑升模板和爬升模板等方式施工),其最小搭接应按相应数值乘以系数1.1取用;对末端采用机械锚固措施的带肋钢筋,其最小搭接可按相应数值乘以系数0.7取用;当带肋钢筋混凝土保护层厚度大于搭接钢筋直径的三倍且配有箍筋时,其最小搭接可按相应数值乘以系数0.8取用;注3:对有抗震设防要求的结构构件,其受力钢筋最小搭接长度对一、二级抗震等级应按相应数值乘以系数1.15取用,对三级抗震等级应按相应数值乘以系数1.05取用,对四级抗震等级的结构构件不作调整;在任何情况下受拉钢筋的最小搭接长度不应小于300mm。注4:纵向受压钢筋搭接时,其最小搭接应按上述规定确定后,乘以系数0.7取用。在任何情况下,受压钢筋的最小搭接长度不应小于200mm。;d2搭接长度应用举例:【例d2.1】某构件二级抗震等级,混凝土强度等级C35,纵向受拉钢筋采用RRB400(III)级Φ28环氧树脂涂层钢筋,绑扎接头面积百分率介于40%,试确定其搭接长度。解:最小搭接长度=40d×1.2×1.1×1.25×1.15=75.9d=2126mm。钢筋每个接头可按增加2150mm长度备料。【例d2.2】某构件无抗震设防要求,混凝土强度等级C25,纵向受压钢筋采用HRB335(II)级Φ18带肋钢筋,绑扎接头面积百分率介于60%,试确定其搭接长度。解:最小搭接长度=45d×1.35×0.7=42.525d=765.45mm。钢筋每个接头可按增加800mm长度备料。【例d2.3】某无垫层基础梁构件,最小混凝土保护层厚度70mm,按3级抗震等级要求设防,混凝土强度等级C30,纵向受拉钢筋采用HRB400(III)级Φ22带肋钢筋,绑扎接头面积百分率40%,试确定其搭接长度。解:最小搭接长度=40d×1.2×0.8×1.05=40.32d=887.04mm。钢筋每个接头可按增加900mm长度备料。
❺ php redis如何使用
开始在 PHP 中使用 Redis 前,要确保已经安装了 redis 服务及 PHP redis 驱动,且你的机器上能正常使用 PHP。
PHP安装redis扩展
/usr/local/php/bin/phpize #php安装后的路径
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
修改php.ini文件
vi /usr/local/php/lib/php.ini
增加如下内容:
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20090626"
extension=redis.so
安装完成后重启php-fpm 或 apache。查看phpinfo信息,就能看到redis扩展。
连接到 redis 服务
<?php
//连接本地的 Redis 服务
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
echo "Connection to server sucessfully";
//查看服务是否运行
echo "Server is running: " . $redis->ping();
?>
执行脚本,输出结果为:
Connection to server sucessfully
Server is running: PONG
Redis PHP String(字符串) 实例
<?php
//连接本地的 Redis 服务
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
echo "Connection to server sucessfully";
//设置 redis 字符串数据
$redis->set("tutorial-name", "Redis tutorial");
// 获取存储的数据并输出
echo "Stored string in redis:: " . jedis.get("tutorial-name");
?>
执行脚本,输出结果为:
Connection to server sucessfully
Stored string in redis:: Redis tutorial
Redis PHP List(列表) 实例
<?php
//连接本地的 Redis 服务
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
echo "Connection to server sucessfully";
//存储数据到列表中
$redis->lpush("tutorial-list", "Redis");
$redis->lpush("tutorial-list", "Mongodb");
$redis->lpush("tutorial-list", "Mysql");
// 获取存储的数据并输出
$arList = $redis->lrange("tutorial-list", 0 ,5);
echo "Stored string in redis:: "
print_r($arList);
?>
执行脚本,输出结果为:
Connection to server sucessfully
Stored string in redis::
Redis
Mongodb
Mysql
Redis PHP Keys 实例
<?php
//连接本地的 Redis 服务
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
echo "Connection to server sucessfully";
// 获取数据并输出
$arList = $redis->keys("*");
echo "Stored keys in redis:: "
print_r($arList);
?>
执行脚本,输出结果为:
Connection to server sucessfully
Stored string in redis::
tutorial-name
tutorial-list
❻ php 连接 redis 是什么协议
是通过TCP协议形式的Socket连接。
具体你可以了解一下 redis协议介绍 :https://redis.io/topics/protocol
❼ php redis 长连接 多久会断
$redis->connect($host, $port, $timeout);
最后一个参数就是超时时间,长连接是不会断的,除非你自己去close或者服务器那边断了,这个时候可以捕获错误,然后进行重连
❽ redis有密码 php怎么连接
$this->redis=newRedis();
if($this->redis->connect($host,$port)===false){ //连接redis服务
die("redisisgoaway.");
}
if(!empty($password)){//此处表示有密码参数
if($this->redis->auth($password)===false){
die('.');
}
}
❾ redis cluster 连接池 需要关闭吗
redis不支持PHP的多维数组的存取。
解决办法是:如有要用redis存多维数组,可以把数组json_encode转换成json各式数据,以string类型的方式存储。读取的时候再json_decode回来。这样就可以直接关闭了。
❿ redis的php客户端为什么连接数这么大
因为一般扩展的开发者,都会在脚本结束时自己关闭已经使用的连接,但是这个插件居然没有,而是需要你自己去关闭。当然关闭连接对只对connect函数有效,pconnect是不需要关闭连接的。其具体使用方法就是在脚本结束前调用redis对象的close方法,来关闭连接。或者更省事点,用类似下面的代码
register_shutdown_function(function () {
global $redis;
$redis->close();
});
经过测试,自己关闭连接后,用netstat -na看6379端口的连接就很少了。