Skip to content

Instantly share code, notes, and snippets.

@ozcanzaferayan
Created March 22, 2024 01:17

Revisions

  1. ozcanzaferayan created this gist Mar 22, 2024.
    56 changes: 56 additions & 0 deletions redis.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,56 @@
    const redis = {
    // Anahtar-değer çiftleri
    "anahtar1": "değer1",
    "anahtar2": "değer2",

    // Bir liste benzetimi
    "listeAnahtarı": ["eleman1", "eleman2", "eleman3"],

    // Bir set benzetimi (JavaScript Set kullanarak)
    "setAnahtarı": new Set(["eleman1", "eleman2"]),

    // Bir sıralı set benzetimi (sadeleştirilmiş)
    // Gerçek bir Redis sıralı set, değerleri skorlarına göre sıralar.
    // Burada sadece bir dizi olarak modelleyeceğiz.
    "sıralıSetAnahtarı": ["eleman1", "eleman2"],

    // Anahtar ekleme, değer okuma ve silme fonksiyonları
    set: function(anahtar, değer) {
    this[anahtar] = değer;
    },

    get: function(anahtar) {
    return this[anahtar];
    },

    del: function(anahtar) {
    delete this[anahtar];
    },

    // Listeye eleman ekleme
    lpush: function(anahtar, eleman) {
    if (!this[anahtar]) {
    this[anahtar] = [];
    }
    this[anahtar].unshift(eleman);
    },

    // Set'e eleman ekleme
    sadd: function(anahtar, eleman) {
    if (!this[anahtar]) {
    this[anahtar] = new Set();
    }
    this[anahtar].add(eleman);
    }
    };

    // Kullanım örneği
    redis.set("yeniAnahtar", "yeniDeğer");
    console.log(redis.get("yeniAnahtar")); // "yeniDeğer"
    redis.del("yeniAnahtar");

    redis.lpush("listeAnahtarı", "yeniEleman");
    console.log(redis.get("listeAnahtarı")); // ["yeniEleman", "eleman1", "eleman2", "eleman3"]

    redis.sadd("setAnahtarı", "yeniEleman");
    console.log(redis.get("setAnahtarı")); // Set { 'eleman1', 'eleman2', 'yeniEleman' }