زمانیکه به دیتابیس redis لاگین میکنم، دستور keys * را برای مشاهده مقادیر داخلی دیتابیس ردیس وارد میکردم در خروجی تنها یک مقدار را نمایش میداد :
درون هریک از مقادیر بالا، آدرس ip هم ذخیره میشد. که برای مشاهده ip هر کاربر میبایست به صورت جداگانه برای هر کاربر از دستور get استفاده کنم :
من نیاز داشتم که به صورت همزمان هم کلیدها و هم مقادیر داخلی کلیدها را در دیتابیس ردیس مشاهده کنم که برای این کار میتوانید از اسکریپت زیر استفاده کنید. ابتدا با استفاده از یک ادیتور متن مانند vi/vim یا nano یک فایل با نام redis.sh ایجاد کنید و کدهای زیر را درون آن کپی کنید.
خطی که با # کامنت شده، نوع string را نمایش میدهد. در صورتی که به این مقدار نیاز دارید آنرا از کامنت خارج کنید. فایل را ذخیره کنید و بعد از خارج شدن از آن به آن پرمیژن اجرایی دهید :
سپس با استفاده از دستور زیر اسکریپت را اجرا کنید :
همانطور که مشاهده میکنید، هر دو مقدار key و value را به صورت همزمان از دیتابیس redis استخراج کردیم. امیدوارم مفید واقع شده باشد.
کد 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 استخراج کردیم. امیدوارم مفید واقع شده باشد.