❶ 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埠的連接就很少了。