مقدمه
در ادامه بررسی دستورات کار با هشها، این مقاله به معرفی دستور HVALS
میپردازد که امکان دریافت تمام مقادیر موجود در یک هش را فراهم میکند.
دستور HVALS
ساختار این دستور به صورت زیر است:
HVALS key
مثال عملی
- نمایش تمام فیلدها و مقادیر:
HGETALL user:1:1
- دریافت فقط نام فیلدها:
HKEYS user:1:1
- دریافت فقط مقادیر:
HVALS user:1:1
خروجی نمونه:
1) "John"
2) "Doe"
3) "35"
4) "1"
5) "10"
نکات فنی
- تفاوت با HGETALL:
- HGETALL: لیست کامل فیلدها و مقادیر
- HVALS: فقط مقادیر بدون نام فیلدها
- ترتیب دادهها:
- مقادیر به همان ترتیبی که در HGETALL نمایش داده میشدند برگردانده میشوند
- ترتیب با دستور HKEYS مطابقت دارد
- کارایی:
- برای هشهای بزرگ کارایی بهتری نسبت به HGETALL دارد
- مصرف حافظه کمتری دارد
کاربردهای عملی
- زمانی که فقط به مقادیر نیاز داریم
- پردازش دادهها بدون توجه به نام فیلدها
- تولید گزارشهای آماری
- استفاده در توابع تجمیعی
مثال پیشرفته
برای پردازش مقادیر در اسکریپتها:
# دریافت مقادیر و ذخیره در متغیر
VALUES=$(redis-cli HVALS user:1:1)
# محاسبه مجموع مقادیر عددی
TOTAL=0
for val in $VALUES; do
if [[ $val =~ ^[0-9]+$ ]]; then
TOTAL=$((TOTAL + val))
fi
done
echo "Total numeric values: $TOTAL"
نتیجهگیری
دستور HVALS مکمل دستورات HKEYS و HGETALL است و در موارد زیر کاربرد دارد:
- تحلیل دادهها بدون نیاز به نام فیلدها
- محاسبات تجمیعی روی مقادیر
- بهینهسازی پرسوجوها
- کاهش حجم دادههای انتقالی
ترکیب این سه دستور (HKEYS, HVALS, HGETALL) امکان مدیریت کامل هشها را با انعطافپذیری بالا فراهم میکند. انتخاب بین آنها بستگی به نیاز خاص هر عملیات دارد.