Wpis z mikrobloga

#redis #sqlite #laravel #php #programowanie

Mam zapętlony skrypt ktory pobiera dane z api i je zapisuje. Ok. 300 zapytan co 2 minuty, kazde zapytanie zwraca tablice z 100 stringami ktore chce zapisac

"Redis might perform a lot better than sqlite under multiples of parallel access for instance." https://stackoverflow.com/a/11216700

Jedyny uzytkownik tej apki to bede ja wiec sqlite powinien byc lepszy/szybszy (?)

Pytanie ktore rozwiazanie jest bardziej pamieciozerne?

Narzedzia ktorych uzywam to Laravel (tak tak), skrypt to jest komenda ododpalana za pomoca crona (jezeli aktualnie nie jest odpalona). Do zapisywania w redisie uzywam tej klasy: https://laravel.com/api/5.6/Illuminate/Redis/RedisManager.html
Do zapisywania w sqlite uzywalbym Eloquent (a moze bez zadnej warsty abstrakcji mniej pamieci zostaloby zuzyte?)
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@usmiechniety_syzyf: Nie należy też ignorować słowa might w przytoczonym cytacie, ponieważ niekoniecznie Redis będzie szybszy. To zależy wielu czynników.

Tak czy inaczej, 30000 insertów to jest raczej "nic" dla większości baz danych, wliczając w to obydwie wspomniane.
  • Odpowiedz
@usmiechniety_syzyf: Nie wiem czy pytasz o pamięć zamjowaną przez skrypt, czy przez silnik bazy? Jeśli o to drugie, no to w przypadku SQLite'a nie ma tego problemu (dane są zapisaywane na dysku i nie są trzymane w pamięci). Natomiast Redis trzyma wszystko w pamięci, więc jeśli planujesz go używać, to musisz sobie policzyć ile masz pamięci i ile będziesz generował danych. W pewnym momencie na pewno uderzysz w limit, pytanie
  • Odpowiedz