مولی ایل ایس ای ٹی

Mwly Ayl Ays Ay Y



ریڈیس لسٹ ایک ڈیٹا ڈھانچہ ہے جو اندراج کی ترتیب میں سٹرنگ عناصر کی ایک ترتیب رکھتی ہے۔ یہ لنکڈ لسٹ پر مبنی ہے۔ لہذا، سر اور دم پر ایک عنصر کا اندراج مستقل وقت میں کیا جاتا ہے۔ Redis فہرستوں کا واحد منفی پہلو یہ ہے کہ انڈیکس کے ذریعے عناصر سے استفسار کرنا تھوڑا مہنگا ہے، جس میں رسائی والے عنصر کے انڈیکس کے براہ راست متناسب وقت لگتا ہے۔ لنکڈ لسٹ پر مبنی عمل درآمد کی وجہ یہ ہے کہ آئٹمز کی بہت لمبی فہرست کے لیے ڈیٹا کے اندراج کو تیز تر بنایا جائے۔

Redis فہرستوں میں 0 پر مبنی اشاریہ سازی ہوتی ہے۔ پہلا عنصر 0 کے طور پر نامزد کیا گیا ہے۔ ویں انڈیکس دوسرا 1 پر ہے۔ st انڈیکس، اور اسی طرح. اشاریہ جات کے ساتھ پونچھ کے عناصر تک رسائی منفی اشاریوں کے ساتھ ممکن ہے جیسے آخری عنصر کو -1 کے طور پر ترتیب دیا گیا ہے، آخری عنصر -2 ہے، وغیرہ۔









فہرست کے عناصر کو LSET کمانڈ کے ساتھ کسی بھی انڈیکس پر سیٹ کیا جا سکتا ہے، جس کی وضاحت درج ذیل سیکشن میں کی گئی ہے۔



LSET کمانڈ

LSET کمانڈ مخصوص کلید پر ذخیرہ شدہ Redis فہرست کے دیے گئے انڈیکس پر ایک عنصر سیٹ کرتی ہے۔ اس میں درج ذیل سادہ نحو ہے:





LSET list_key انڈیکس عنصر

list_key : Redis فہرست کی کلید۔

انڈیکس : وہ انڈیکس جہاں آپ کو ایک عنصر سیٹ کرنے کی ضرورت ہے۔



عنصر : مخصوص انڈیکس پر سیٹ کیا جانے والا سٹرنگ عنصر۔

اگر عنصر کو صحیح طریقے سے سیٹ کیا گیا ہو تو یہ کمانڈ ایک سادہ سٹرنگ 'OK' لوٹاتا ہے۔ جب بھی اس کا سامنا کسی ایسے انڈیکس سے ہوتا ہے جو حد سے باہر ہو، LSET کمانڈ ایک غلطی لوٹاتا ہے۔

Redis فہرستوں کے سب سے عام استعمال کے معاملات میں سے ایک انفرادی صارفین کے لیے سوشل میڈیا پوسٹس اور ان کی اپ ڈیٹس کو اسٹور کرنا ہے۔ LSET کمانڈ وہاں ایک اہم کردار ادا کرتی ہے، جیسا کہ مندرجہ ذیل حصے میں بحث کی گئی ہے۔

کیس استعمال کریں - سوشل میڈیا پوسٹس کو اپ ڈیٹ کریں۔

آئیے ایک واقعہ فرض کرتے ہیں جہاں ایک کمپنی اپنی سوشل میڈیا ویب سائٹ کو برقرار رکھتی ہے جس میں ہزاروں صارفین فعال طور پر پوسٹس اور اسٹیٹس پوسٹ کرتے ہیں۔ انہوں نے شناخت کیا ہے کہ Redis فہرستیں ان عہدوں اور حیثیتوں کو رکھنے کے لیے موزوں امیدوار ہیں جہاں بار بار اندراج ہوتا ہے، اور Redis فہرستیں مستقل وقت میں اندراج انجام دیتی ہیں۔

آئیے ایک دی گئی یوزر آئی ڈی 100 کے لیے ایک Redis لسٹ بنائیں جو اس مخصوص صارف کی پوسٹس اور اسٹیٹس میسجز کو اسٹور کرنے کے لیے استعمال ہوگی۔ ہم صارف id 100 کے لیے کچھ ڈمی پوسٹس اور اسٹیٹس پیغامات ڈالنے کے لیے LPUSH کمانڈ استعمال کریں گے۔

LPUSH social-media:user:100 '2022-08-01:آغاز کرنے کے لیے اچھا دن۔'
LPUSH social-media:user:100 '2022-08-05: linuxhint پر نئی نوکری شروع کی'
LPUSH سوشل میڈیا: صارف: 100 '2022-08-06: آج کی زبردست پارٹی'
LPUSH social-media:user:100 '2022-08-07: برا دن!!!'

آؤٹ پٹ

فرض کریں کہ یوزر آئی ڈی 100 والا صارف اپنی پرانی پوسٹوں میں سے ایک کو اپ ڈیٹ کر دے گا۔ فرض کریں کہ اس نے جو تیسری پوسٹ کی ہے اس میں کچھ تصحیح کی ضرورت ہے۔ LSET کمانڈ آسانی سے اسے حاصل کر سکتی ہے، جیسا کہ درج ذیل میں دکھایا گیا ہے۔

چونکہ تیسرا عنصر سر سے انڈیکس 2 پر ہے۔ ہم اسے اس طرح اپ ڈیٹ کریں گے:

LSET social-media:user:100 2 'LinuxHint میں ایک مصنف کے طور پر نیا کردار شروع کیا'

آؤٹ پٹ

جیسا کہ توقع کی گئی تھی، کمانڈ کو کامیابی کے ساتھ انجام دیا گیا تھا، اور دوسرے انڈیکس میں عنصر کو اپ ڈیٹ کیا گیا تھا۔ آئیے درج ذیل فہرست کو دوبارہ چیک کریں:

ہم پونچھ سے انڈیکس کی وضاحت کرکے بھی ایسا ہی کرسکتے ہیں۔

LSET social-media:user:100 -2 'LinuxHint میں ایک مصنف کے طور پر نیا کردار شروع کیا'

جیسا کہ توقع کی گئی ہے، تیسرا عنصر نئی سٹرنگ 'Job started at LinuxHINT' پر سیٹ کر دیا گیا ہے۔

اگر آپ ایک انڈیکس کی وضاحت کرتے ہیں جو حد سے باہر ہے، تو یہ ایک خرابی پیدا کرے گا، جیسا کہ درج ذیل میں دکھایا گیا ہے:

LSET social-media:user:100 6 'Job start at LinuxHINT'

آؤٹ پٹ

نتیجہ

LSET کمانڈ ایک مخصوص انڈیکس میں ایک فہرست عنصر کو ایک دی گئی کلید پر ذخیرہ کردہ Redis فہرست کے ایک دیئے گئے عنصر پر سیٹ کرتی ہے۔ چونکہ Redis فہرست اشاریہ جات 0 سے شروع ہوتے ہیں، یہ پہلا عنصر ہے۔ انڈیکس 1 فہرست کا دوسرا عنصر ہے، وغیرہ۔ جیسا کہ بحث کی گئی ہے، دم سے شروع ہونے والے عناصر کے اشاریہ جات کو منفی نمبروں کا استعمال کرتے ہوئے متعین کیا جا سکتا ہے جیسے -1 آخری عنصر ہے، -2 آخری سے پہلے کا عنصر ہے، وغیرہ۔ جب بھی کوئی غیر موجود انڈیکس پاس کیا جاتا ہے، LSET کمانڈ ایک خرابی لوٹائے گی۔ مزید برآں، یہ کمانڈ کامیاب عملدرآمد پر ایک سادہ سٹرنگ آؤٹ پٹ لوٹاتا ہے۔