مقدمه
در این مقاله به بررسی دو دستور مهم برای کار با مقادیر عددی در هشها میپردازیم: HINCRBY
برای اعداد صحیح و HINCRBYFLOAT
برای اعداد اعشاری.
دستور HINCRBY
برای افزایش یا کاهش مقادیر صحیح در هش:
HINCRBY key field increment
مثال عملی:
- افزودن فیلد عددی:
HSET user:1:1 score 10
- افزایش مقدار:
HINCRBY user:1:1 score 10
خروجی: 20
- کاهش مقدار:
HINCRBY user:1:1 score -10
خروجی: 10
دستور HINCRBYFLOAT
برای کار با اعداد اعشاری:
HINCRBYFLOAT key field increment
مثال عملی:
- افزودن فیلد اعشاری:
HSET user:1:1 commission 0.25
- افزایش مقدار:
HINCRBYFLOAT user:1:1 commission 1.2
خروجی: 1.45
- کاهش مقدار:
HINCRBYFLOAT user:1:1 commission -1.2
خروجی: 0.25
نکات فنی
- مقادیر اولیه:
- اگر فیلد وجود نداشته باشد، به صورت خودکار با مقدار 0 ایجاد میشود
- عملیات افزایش/کاهش روی مقدار جدید اعمال میشود
- خطاها:
- اگر مقدار فعلی غیرعددی باشد، خطا برگردانده میشود
- مقدار افزایشی باید معتبر باشد
- دقت اعشاری:
- HINCRBYFLOAT از دقت ممیز شناور استفاده میکند
- برای محاسبات مالی نیاز به توجه خاص دارد
کاربردهای عملی
- سیستمهای امتیازدهی
- مدیریت موجودی
- محاسبات مالی
- آمار و تحلیل داده
- سیستمهای رتبهبندی
مثال پیشرفته
مدیریت امتیاز کاربران:
# افزایش امتیاز برای فعالیت کاربر
HINCRBY user:1:1 score 5
# کاهش امتیاز به دلیل جریمه
HINCRBY user:1:1 score -2
# محاسبه کارمزد
HINCRBYFLOAT user:1:1 commission 0.75
# نمایش نتیجه نهایی
HMGET user:1:1 score commission
نتیجهگیری
دستورات HINCRBY و HINCRBYFLOAT ابزارهای قدرتمندی برای مدیریت مقادیر عددی در هشها هستند که:
- امکان افزایش/کاهش اتمیک مقادیر را فراهم میکنند
- از اعداد صحیح و اعشاری پشتیبانی میکنند
- در سناریوهای رقابتی از یکپارچگی داده اطمینان حاصل میکنند
- برای سیستمهای بلادرنگ مناسب هستند
ترکیب این دستورات با سایر دستورات هش، امکان پیاده سازی طیف گستردهای از منطقهای کسبوکار را فراهم میکند.