anchovycation / metronom

Easy to use Redis ORM based on node-redis with TypeScript support
https://anchovycation.github.io/metronom/
GNU General Public License v3.0
7 stars 3 forks source link

`Model.getAll` fonksiyonuna belirli bir miktarda kaydı getirtebilmeliyiz. #40

Closed saracalihan closed 2 years ago

saracalihan commented 2 years ago

Yüksek kayıt miktarına sahip olunursa getAll fonksiyonu kullanılmayacak kadar veri getiriyor. Bu kullanım için oldukça maliyetli olabilir. Bu yüzden getAll fonksiyonuna limitleme yapılabilecek bir parametre eklenmeli.

Önerilen çözüm yolu:

const topTenUser = await userModel.getAll({
  limit: 10,
});

Şeklinde kullanılabilecek ve getAll ileride where, paginete, sort gibi parametreleri de ekleyebileceğimiz bir objeyi parametre olarak alabilir. Kod içinde ilk önce redis üzerindeki keyleri alıyor ardından ise onları tek tek oluyorduk bundan dolayı tüm kayıtları okuduktan sonra limitlemek yerine eğer limit varsa sadece girilen limit kadar key okuması yapılmalı ve geri kalan işleme devam edilmeli.