1. 程式人生 > >redis lpop key 當key不存在時,返回nil , 監測redis執行語句是否正常執行

redis lpop key 當key不存在時,返回nil , 監測redis執行語句是否正常執行

Lpop key  

返回值:

      列表的頭元素。

      當key 不存在時, 返回 nil .   

需求:  開發在執行 lpop key 時, 出現問題 , 執行語句卡住, 不能執行下去 , 需對此做一個監測 

 

由於返回值 nil (這裡redis的nil 類似於 null ), 不能用 grep 正則去過濾 , 則想到類似 ping 區域網中ip ,若 執行成功 $?返回 0  , 不成功則返回其他的思路 , 做一個指令碼 。

 

探測區域網中ip是否存在的指令碼 

寫一個指令碼,判斷172.17.111.0/24的網路裡,哪些IP能ping通

#!/bin/bash

for i in `seq 1 255`;do

    ping -c 1 172.17.111.$i &>/dev/null

    if [ $? -eq 0 ]; then
       echo "172.17.111.$i OK"
    else
       echo "172.17.111.$i error"
    fi
done

  

根據上面的指令碼思路 寫一個 lpop test 是否成功執行的指令碼 


#!/bin/bash

/usr/local/bin/redis-cli -h r-b******.com  -p 6379 -a z********3 lpop 'test' &> /dev/null

if [ $? -eq 0 ]; then
   
    redis_lpop_test=1

else
    redis_lpop_test=0

fi

echo $redis_lpop_test

  

再在 zabbix介面新增 item ,  trigger , graphs 等設定。