اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

یک شل اسکریپت ساده برای نمایش مقدار keys و value در Redis

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    یک شل اسکریپت ساده برای نمایش مقدار keys و value در Redis

    زمانیکه به دیتابیس redis لاگین میکنم، دستور keys * را برای مشاهده مقادیر داخلی دیتابیس ردیس وارد میکردم در خروجی تنها یک مقدار را نمایش میداد :
    کد PHP:
    root@linuxzone:~# redis-cli
    192.168.1.10:6379>
    192.168.1.10:6379> KEYS *
    1) "mohammad"
    2) "ali"
    3) "mina"
    4) "sara"
    5) "hosein" 


    درون هریک از مقادیر بالا، آدرس ip هم ذخیره میشد. که برای مشاهده ip هر کاربر میبایست به صورت جداگانه برای هر کاربر از دستور get استفاده کنم :
    کد PHP:
    192.168.1.10:6379> GET mohammad
    "192.100.100.20"
    192.168.1.10:6379> 


    من نیاز داشتم که به صورت همزمان هم کلیدها و هم مقادیر داخلی کلیدها را در دیتابیس ردیس مشاهده کنم که برای این کار میتوانید از اسکریپت زیر استفاده کنید. ابتدا با استفاده از یک ادیتور متن مانند vi/vim یا nano یک فایل با نام redis.sh ایجاد کنید و کدهای زیر را درون آن کپی کنید.
    کد PHP:
    #!/bin/sh -eu
    keys=`redis-cli keys '*'`
    if [ 
    "$keys" ]; then
    echo "$keys" | while IFS= read -r key; do
    type=`echo | redis-cli type "$key"`
    case 
    "$type" in
    string
    ) value=`echo | redis-cli get "$key"`;;
    esac
    echo "> $key => $value"
    # echo "$type" | sed -E 's/^/ /'
    done
    fi 

    خطی که با # کامنت شده، نوع string را نمایش میدهد. در صورتی که به این مقدار نیاز دارید آنرا از کامنت خارج کنید. فایل را ذخیره کنید و بعد از خارج شدن از آن به آن پرمیژن اجرایی دهید :
    کد PHP:
    # chmod +x redis.sh 


    سپس با استفاده از دستور زیر اسکریپت را اجرا کنید :
    کد PHP:
    root@linuxzone:~# ./redis.sh
    > mohammad => 192.100.100.20
    > ali => 192.100.100.22
    > mina => 192.100.100.35
    > sara => 192.100.100.75
    > hosein => 192.100.100.125 


    همانطور که مشاهده میکنید، هر دو مقدار key و value را به صورت همزمان از دیتابیس redis استخراج کردیم. امیدوارم مفید واقع شده باشد.
در حال انجام ...
X