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

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

یک پایگاه داده متن‌باز، درون‌حافظه‌ای (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 می‌شود.