Open saracalihan opened 2 years ago
@beyzaerkan ModelInstance'ı proxy haline getirerek bu özelliği ekleyebilir ModelInstance
içine _changedValues
key'ini ekleyip save
fonksiyonunda da sadece o alanları kaydetme işini yapabilir misin?
İç içe objelerde alt seviyeden bir key değiştiğinde proxy tetiklenmediği için o ana key kaydedilmiyor. Alttaki alanlar da takip edilmeli.
ModelInstance
objesi içindeki her key Redis üzerinde bir hash içinde key olarak tutuluyor.Şu anki sisteme göre
ModelInstance
üzerindeki tek bir key değiştirilipModelInstance.save()
fonksiyonu çalıştırıldığında tüm keyler tek tek kaydediliyor ve bu yüzden sistemde yavaşlık olunuyor bunun yerineModelInstance
bir proxy ile takip edilerekModelInstance
içine_changedValues
adında bir obje yerleştirilebilir ve bu objenin içine değişen keyler yazılırsa sadece o keyler Rediste güncellenebilir. Bu sayede toplamda n tane key'i olan bir nesnede m tane key değiştirildiğinde n-m kere gereksiz yazılma işlemi yapılmayacak.