English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Redis يدعم خمس أنواع من البيانات: string (الخطاب)، hash (الخوارزمية)، list (القائمة)، set (الجمعية) و zset (sorted set: مجموعة منصوص).
string هي النوع الأساسي في redis، يمكنك فهمها كنوع مشابه تمامًا لـ Memcached، حيث يتم تعيين قيمة واحدة لكل مفتاح.
نوع string هو آمن من الناحية الثنائية. يعني أن string الخاصة بredis يمكن أن تحتوي على أي بيانات. مثل صورة jpg أو عنصر متسلسل.
نوع string هو أكثر أنواع البيانات الأساسية في Redis، و يمكن تخزين القيمة الخاصة بنوع string حتى 512MB.
redis 127.0.0.1:6379> SET w3codebox "موقع التعليمات الأساسية" OK redis 127.0.0.1:6379> GET w3codebox "موقع التعليمات الأساسية"
في المثال السابق استخدمنا Redis SET و GET أمر. المفتاح هو w3codebox، و القيمة المتبادلة هي موقع التعليمات الأساسية.
ملاحظة:أكبر حجم لقيمة المفتاح يصل إلى 512MB.
Redis hash هو مجموعة من الثنائيات مفتاح=>قيمة.
Redis hash هو جدول من الت映射ات بين fields و values من نوع string، و هو يناسب بشكل خاص لاستخدامه لتخزين الأنظمة.
DEL w3codebox 用于删除前面测试用过的 key,不然会报错:(خطأ)WRONGTYPE ضد مفتاح يحتوي على نوع غير صحيح من القيمة
redis 127.0.0.1:6379> DEL w3codebox redis 127.0.0.1:6379> HMSET w3codebox field1 "Hello" field2 "World" "OK" redis 127.0.0.1:6379> HGET w3codebox field1 "Hello" redis 127.0.0.1:6379> HGET w3codebox field2 "World"
في المثال الذي استخدمنا Redis HMSET, HGET الأمر،HMSET تم تعيين زوجين من field=>value، يتم الحصول على HGET على المتباين field الم对应的 value.
يمكن تخزين كل hash32 -1 زوج من المفاتيح والقيم (أكثر من 40 مليار).
قائمة Redis هي قائمة بسيطة من الأنواع string، مرتبة وفقًا لترتيب الإضافة. يمكنك إضافة عنصر إلى بداية القائمة (اليسار) أو نهايتها (اليمين).
redis 127.0.0.1:6379> DEL w3codebox redis 127.0.0.1:6379> lpush w3codebox redis (integer) 1 redis 127.0.0.1:6379> lpush w3codebox mongodb (integer) 2 redis 127.0.0.1:6379> lpush w3codebox rabbitmq (integer) 3 redis 127.0.0.1:6379> lrange w3codebox 0 10 1) "rabbitmq" 2) "mongodb" 3) "redis" redis 127.0.0.1:6379>
قائمة يمكن تخزينها في أقصى حد32 - عنصر 1 (4294967295، يمكن أن يتم تخزين أكثر من 40 مليار في كل قائمة).
Set Redis هو مجموعة غير مرتبة من النوع string.
المجموع يتم تنفيذه من خلال جدول هش، لذا فإن معقدة إضافة، حذف، البحث هي O(1).
يضيف عنصر string إلى مجموعة set المخصصة لكليه key، إذا تم إضافة العنصر بنجاح، يتم العودة 1، وإذا كان العنصر موجودًا بالفعل في المجموعة، يتم العودة 0.
sadd key member
redis 127.0.0.1:6379> DEL w3codebox redis 127.0.0.1:6379> sadd w3codebox redis (integer) 1 redis 127.0.0.1:6379> sadd w3codebox mongodb (integer) 1 redis 127.0.0.1:6379> sadd w3codebox rabbitmq (integer) 1 redis 127.0.0.1:6379> sadd w3codebox rabbitmq (integer) 0 redis 127.0.0.1:6379> smembers w3codebox 1) "redis" 2) "rabbitmq" 3) "mongodb"
ملاحظة:في هذا المثال تم إضافة rabbitmq مرتين، ولكن بناءً على فريدة العناصر داخل المجموعة، سيتم تجاهل العنصر المضاف للمرة الثانية.
عدد الأعضاء الأكبر في المجموعة هو 232 - 1 (4294967295، يمكن لتقريباً كل مجموعة أن تتحمل أكثر من 4 مليار عضو).
Redis zset مثل set أيضًا هو مجموعة من عناصر النوع string، ولا يسمح بالأعضاء المكررين.
الفرق هو أن كل عنصر سيكون مرتبطًا بنقطة من نوع double.
العضو في zset هو فريد، ولكن النقاط (score) يمكن أن تكون مكررة.
إضافة عنصر إلى المجموعة، إذا كان العنصر موجودًا في المجموعة، يتم تحديث النقاط
zadd key score member
redis 127.0.0.1:6379> DEL w3codebox redis 127.0.0.1:6379> ZADD w3codebox 0 redis (integer) 1 redis 127.0.0.1:6379> ZADD w3codebox 0 mongodb (integer) 1 redis 127.0.0.1:6379> ZADD w3codebox 0 rabbitmq (integer) 1 redis 127.0.0.1:6379> ZADD w3codebox 0 rabbitmq (integer) 0 redis 127.0.0.1:6379> ZRANGEBYSCORE w3codebox 0 1000 1) "mongodb" 2) "rabbitmq" 3) "redis"