Zaten ilk sorunuzun cevabını aldınız: amacı ADD
sadece bir anahtar zaten olmadığında çalışmaktır, mevcut SET
olup olmadığına bakılmaksızın değeri güncellemek için vardır. SQL hakkında bilginiz varsa, (kabaca) INSERT
sorgu ( ADD
) ve UPDATE
( SET
) arasındaki fark gibidir .
Zeyilname sorunuzla ilgili olarak amacınıza uygun olanı kullanırsınız. Bunun SET
daha yaygın bir işlem olacağını söyleyebilirim , çünkü "Anahtarın foo
değere sahip olmasını istiyorum ve bar
zaten orada olup olmadığını umursam" demek istemeniz daha yaygın . Bununla birlikte, bir anahtarın önbellekte bulunmadığını bilmek gerektiğinde (daha az sıklıkta) durumlar olur.
Uygun olduğunda akla gelen bir örnek, ADD
oturumları memcache'de saklamaktır (bu arada, tavsiye etmiyorum) - oturum kimliklerinizi rastgele oluşturursanız (veya karma yoluyla), istemezsiniz mevcut bir anahtarla aynı anahtarla yeni bir oturum oluşturmak için, bu bir kullanıcıya başka bir kullanıcının verilerine erişim izni verecektir. Bu durumda, oturumu oluşturduğunuzda kullanırsınız ADD
ve başarısızlık durumu döndürdüyse yeni bir oturum kimliği oluşturmanız ve tekrar denemeniz gerekir. Oturumu güncellemek, elbette, SET
kullanıcı uygulamanızda yoluna devam ederken kullanılır.