Skip to content

Instantly share code, notes, and snippets.

@ozcanzaferayan
Created March 22, 2024 01:17
Show Gist options
  • Save ozcanzaferayan/280bdc39d43c3f6b02f07fcd87458c40 to your computer and use it in GitHub Desktop.
Save ozcanzaferayan/280bdc39d43c3f6b02f07fcd87458c40 to your computer and use it in GitHub Desktop.
Ev yapımı Redis tarifi
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' }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment