مقدمه
ردیس (Redis) بهطور خودکار نوع انکدینگ مناسب را برای مقادیر رشتهای انتخاب میکند. این سیستم از سه نوع انکدینگ مختلف برای ذخیرهسازی رشتهها استفاده میکند که هر کدام برای موارد خاصی بهینهسازی شدهاند. درک این انکدینگها به ما کمک میکند تا کارایی و مصرف حافظه را بهتر مدیریت کنیم.
انواع انکدینگ در ردیس
1. انکدینگ int
این انکدینگ مخصوص رشتههایی است که نماینده اعداد صحیح 64 بیتی هستند. وقتی مقداری را در ردیس ذخیره میکنیم که به صورت یک عدد صحیح معتبر باشد، ردیس به طور خودکار از این انکدینگ استفاده میکند.
2. انکدینگ embstr
این انکدینگ برای رشتههایی استفاده میشود که طول آنها کمتر یا مساوی 44 بایت باشد. این نوع انکدینگ از نظر مصرف حافظه و کارایی بهینه است و ردیس ترجیح میدهد از این انکدینگ استفاده کند.
3. انکدینگ raw
وقتی طول یک رشته بیشتر از 44 بایت باشد، ردیس از انکدینگ raw استفاده میکند. این انکدینگ برای رشتههای بلند مناسب است.
بررسی عملی انکدینگها
مثال 1: انکدینگ int
SET mykey 123456
OBJECT ENCODING mykey
خروجی:
"int"
مثال 2: انکدینگ embstr
SET mykey "test string"
OBJECT ENCODING mykey
خروجی:
"embstr"
میتوانیم طول رشته را با دستور زیر بررسی کنیم:
STRLEN mykey
مثال 3: انکدینگ raw
SET mykey "این یک رشته بلند است که برای تست انکدینگ raw استفاده میشود"
OBJECT ENCODING mykey
خروجی:
"raw"
نکات مهم
- ردیس بهطور خودکار مناسبترین انکدینگ را انتخاب میکند
- انکدینگ embstr برای رشتههای کوتاه (≤44 بایت) بهینه است
- انکدینگ raw برای رشتههای بلند استفاده میشود
- انکدینگ int مخصوص مقادیر عددی است
- میتوانیم با دستور
OBJECT ENCODING
نوع انکدینگ هر کلید را بررسی کنیم
نتیجهگیری
درک انواع انکدینگ رشتهها در ردیس به ما کمک میکند تا سیستمهای خود را با کارایی بیشتری طراحی کنیم. با استفاده از دستور OBJECT ENCODING
میتوانیم نوع انکدینگ هر کلید را بررسی کرده و بر اساس نیازهای سیستم، دادههای خود را بهینهسازی کنیم.