redis lpop key 当key不存在时,返回nil , 监测redis执行语句是否正常执行

时间:2021-08-12 22:21:48

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 等设置。