رفتن به محتوای اصلی
iServer24 | ارائه‌کننده سرورهای ابری و اختصاصی
آموزش مدیریت Hash در Redis

آموزش مدیریت Hash در Redis

پایگاه داده
2 دقیقه مطالعه

یک پایگاه داده متن‌باز، درون‌حافظه‌ای (In-Memory) و از نوع Key-Value است. یکی از ساختارهای داده‌ای مهم در Redis، نوع داده Hash می‌باشد. Hash در ردیس ساختاری است که بین یک فیلد متنی (field) و یک مقدار متنی (value) ارتباط برقرار می‌کند. هر Hash می‌تواند شامل تعداد زیادی جفت فیلد-مقدار باشد، در حالی که مصرف حافظه آن بهینه است. به همین دلیل Hash گزینه‌ای بسیار مناسب برای نمایش آبجکت‌ها است.

Redis یک پایگاه داده متن‌باز، درون‌حافظه‌ای (In-Memory) و از نوع Key-Value است. یکی از ساختارهای داده‌ای مهم در Redis، نوع داده Hash می‌باشد.

Hash در ردیس ساختاری است که بین یک فیلد متنی (field) و یک مقدار متنی (value) ارتباط برقرار می‌کند. هر Hash می‌تواند شامل تعداد زیادی جفت فیلد-مقدار باشد، در حالی که مصرف حافظه آن بهینه است. به همین دلیل Hash گزینه‌ای بسیار مناسب برای نمایش آبجکت‌ها است.

برای مثال، می‌توان اطلاعات یک مشتری را به شکل زیر در قالب Hash ذخیره کرد:

FieldValue
nameAli Ansari
emailali@example.com
addressTehran
customer_id1024

در این آموزش، نحوه ایجاد، ویرایش، خواندن و حذف داده‌ها در Hashهای Redis را بررسی می‌کنیم.


ایجاد Hash در Redis

برای ساخت یک Hash از دستور HSET استفاده می‌شود:

HSET poet:Verlaine nationality French
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

ساختار دستور:

HSET key field value
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

اگر فیلد جدید باشد، خروجی:

(integer) 1
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

اگر همان فیلد قبلاً وجود داشته و فقط مقدار آن تغییر کند:

(integer) 0
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

نکته نام‌گذاری کلیدها

استفاده از : یا - یا . در کلیدها باعث خوانایی بهتر می‌شود. مثال:

user:1001:profile
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

اضافه کردن فقط در صورت نبود فیلد

HSETNX poet:Verlaine nationality French
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

این دستور فقط زمانی مقدار را ثبت می‌کند که فیلد وجود نداشته باشد.


ثبت چند فیلد همزمان

HMSET poet:Verlaine born 1844 died 1896 genre Decadent
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

خروجی موفق:

OK
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

خواندن اطلاعات از Hash

بررسی وجود یک فیلد

HEXISTS poet:Verlaine nationality
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

خروجی:

  • 1 → وجود دارد

  • 0 → وجود ندارد


دریافت مقدار یک فیلد

HGET poet:Verlaine nationality
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

دریافت چند مقدار همزمان

HMGET poet:Verlaine born died
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

دریافت همه فیلدها

HKEYS poet:Verlaine
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

دریافت همه مقدارها

HVALS poet:Verlaine
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

دریافت کل داده‌های Hash

HGETALL poet:Verlaine
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

تعداد فیلدهای یک Hash

HLEN poet:Verlaine
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

طول مقدار یک فیلد

HSTRLEN poet:Verlaine nationality
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

حذف فیلد از Hash

HDEL poet:Verlaine born died
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

خروجی نشان می‌دهد چند فیلد حذف شده‌اند:

(integer) 2
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

اگر فیلدی وجود نداشته باشد، نادیده گرفته می‌شود.

 

جمع‌بندی

ساختار Hash در Redis یک روش سریع، کم‌حجم و کارآمد برای ذخیره‌سازی داده‌های ساختاریافته شبیه آبجکت‌ها است. مهم‌ترین قابلیت‌های آن شامل:

  • ایجاد و ویرایش داده‌ها با HSET

  • خواندن داده‌ها با HGET و HGETALL

  • بررسی وجود داده با HEXISTS

  • شمارش فیلدها با HLEN

  • حذف فیلدها با HDEL

استفاده صحیح از Hashها باعث بهینه‌سازی حافظه و افزایش سرعت پردازش در اپلیکیشن‌های مبتنی بر Redis می‌شود.

زیرساخت ابری برای اجرای همین آموزش

سرور ابری ساعتی را برای Docker، Ubuntu و DevOps راه‌اندازی کنید — پرداخت به میزان مصرف یا ماهانه.

ادامه یادگیری:Docker·Ubuntu·VPS