مقدمه

در این مقاله به بررسی دو دستور مهم برای کار با مقادیر عددی در هش‌ها می‌پردازیم: HINCRBY برای اعداد صحیح و HINCRBYFLOAT برای اعداد اعشاری.

دستور HINCRBY

برای افزایش یا کاهش مقادیر صحیح در هش:

HINCRBY key field increment

مثال عملی:

  1. افزودن فیلد عددی:
HSET user:1:1 score 10
  1. افزایش مقدار:
HINCRBY user:1:1 score 10

خروجی: 20

  1. کاهش مقدار:
HINCRBY user:1:1 score -10

خروجی: 10

دستور HINCRBYFLOAT

برای کار با اعداد اعشاری:

HINCRBYFLOAT key field increment

مثال عملی:

  1. افزودن فیلد اعشاری:
HSET user:1:1 commission 0.25
  1. افزایش مقدار:
HINCRBYFLOAT user:1:1 commission 1.2

خروجی: 1.45

  1. کاهش مقدار:
HINCRBYFLOAT user:1:1 commission -1.2

خروجی: 0.25

نکات فنی

  1. مقادیر اولیه:
  • اگر فیلد وجود نداشته باشد، به صورت خودکار با مقدار 0 ایجاد می‌شود
  • عملیات افزایش/کاهش روی مقدار جدید اعمال می‌شود
  1. خطاها:
  • اگر مقدار فعلی غیرعددی باشد، خطا برگردانده می‌شود
  • مقدار افزایشی باید معتبر باشد
  1. دقت اعشاری:
  • 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 ابزارهای قدرتمندی برای مدیریت مقادیر عددی در هش‌ها هستند که:

  • امکان افزایش/کاهش اتمیک مقادیر را فراهم می‌کنند
  • از اعداد صحیح و اعشاری پشتیبانی می‌کنند
  • در سناریوهای رقابتی از یکپارچگی داده اطمینان حاصل می‌کنند
  • برای سیستم‌های بلادرنگ مناسب هستند

ترکیب این دستورات با سایر دستورات هش، امکان پیاده سازی طیف گسترده‌ای از منطق‌های کسب‌وکار را فراهم می‌کند.

Categorized in:

Tagged in: