内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

PHP7+REDIS3.2phpredisscan命令游標問題-創(chuàng)新互聯(lián)

redis 中匹配某些key的方法一般有keys和scan兩種方式,但是鑒于直接在線上執(zhí)行keys操作可能會造成Redis卡死等問題,所以想看有哪些keys,只能使用scan來操作了。在Redis命令行下操作沒啥問題:
SCAN 游標 MATCH 模式 COUNT
每次執(zhí)行都會返回當(dāng)前遍歷到了哪個槽位和是否找到了對應(yīng)的key
項目中使用了Phpredis擴展,所以想著用程序來遍歷一下看看,一開始按照phpredis官網(wǎng)文檔提供的代碼示例執(zhí)行
:這是官方文檔,我在PHP7下執(zhí)行了一下,發(fā)現(xiàn)并沒有結(jié)果。。。。。。。
scan
Description: Scan the keyspace for keys

為蒲縣等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及蒲縣網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、蒲縣網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

Parameters
LONG (reference): Iterator, initialized to NULL STRING, Optional: Pattern to match LONG, Optional: Count of keys per iteration (only a suggestion to Redis)

Return value
Array, boolean: This function will return an array of keys or FALSE if Redis returned zero keys

Example

/ Without enabling Redis::SCAN_RETRY (default condition)/
$it = NULL;
do {
// Scan for some keys
$arr_keys = $redis->scan($it);

// Redis may return empty results, so protect against that
if ($arr_keys !== FALSE) {
    foreach($arr_keys as $str_key) {
        echo "Here is a key: $str_key\n";
    }
}

} while ($it > 0);
echo "No more keys to scan!\n";

/ With Redis::SCAN_RETRY enabled/
$redis->setOption(Redis::OPT_SCAN, Redis::SCAN_RETRY);
$it = NULL;

/ phpredis will retry the SCAN command if empty results are returned from the
server, so no empty results check is required.
/
while ($arr_keys = $redis->scan($it)) {
foreach ($arr_keys as $str_key) {
echo "Here is a key: $str_key\n";
}
}
echo "No more keys to scan!\n";

然后從網(wǎng)上搜了一下,發(fā)現(xiàn)有 $redis->scan($it,$match,$count)的,這樣好像能搜到一些key,但還是不行。
我的理想情況是跟命令行一樣,每次scan能夠返回一個游標的位置和這次掃描出的keys。。。。。。。。。

最后是同事寫了一個版本,這個版本可以

$it = null;
$match = 'zhongce:activity_vote*';
$count = 10000;
$index = 0;
$redis->setOption(Redis::OPT_SCAN,Redis::SCAN_RETRY);
$iterator = null;
while ($keys = call_user_func_array(array($redis, 'scan'), array(&$it, $match))) {

foreach ($keys as $key) {
    echo $key . PHP_EOL;
}

}

上面是沒加count的版本,會直接遍歷出所有滿足條件的keys,你也可以加上count限制每次遍歷的數(shù)量。。。。。。。。。。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)頁名稱:PHP7+REDIS3.2phpredisscan命令游標問題-創(chuàng)新互聯(lián)
路徑分享:http://www.rwnh.cn/article34/pjpse.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計關(guān)鍵詞優(yōu)化、網(wǎng)站設(shè)計公司App設(shè)計、面包屑導(dǎo)航品牌網(wǎng)站設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)
富宁县| 梓潼县| 谷城县| 滦南县| 铅山县| 开平市| 甘南县| 井陉县| 田林县| 蕲春县| 夏津县| 玉林市| 南京市| 桦川县| 灵石县| 改则县| 融水| 嘉定区| 定安县| 津南区| 鄯善县| 确山县| 皋兰县| 泸定县| 垦利县| 疏勒县| 台前县| 景谷| 乌审旗| 咸阳市| 嘉荫县| 甘德县| 团风县| 丰镇市| 武义县| 文昌市| 永定县| 新泰市| 乐安县| 临颍县| 布拖县|