Jak buforować obiekty utworzone z bazy danych MySQL

Piszę aplikację serwerową, która musi wykonywać wiele zapytań MySQL na sekundę wywoływanych przez połączonych klientów i zastanawiam się, jaki byłby najlepszy sposób na poprawienie wydajności, z wyjątkiem dobrej strukturyzowanej bazy danych.

Moim pomysłem było buforowanie niektórych danych i wysyłanie buforowanych danych zamiast wykonywania nowego zapytania. Podobnie jak baza danych ma różne tabele, pamięć podręczna musiałaby radzić sobie z tymi różnymi „strukturami” (obiektami). Ponieważ klienci podłączeni do serwera są pośrednio w stanie zmienić dane, muszę być w stanie edytować buforowane dane (iw pewnym momencie być w stanie zaktualizować moją bazę danych, ale nie powinno to być zbyt trudne). Oto krótka lista tego, co muszę zrobić:

edytuj buforowane dane / obiektyusuń stare dane / obiekty i dodaj nowe dane / obiektyzamów dane według pewnego rodzaju priorytetu (ostatnio używane)zidentyfikuj dane według jakiegoś identyfikatora

Pomyślałem, że dobrym pomysłem będzie wektor lub kolejka / kolejka priorytetowa. W ten sposób mogę utworzyć kolejkę lub wektor dla każdej tabeli / obiektu, który chcę buforować (nie wykonałem żadnych testów, ponieważ chciałem uzyskać więcej opinii, zanim będę mógł tracić czas). Największy obiekt przechowywany w tych strukturach buforowania wynosiłby około 1 kilobajta (najprawdopodobniej mniejszy), a najmniejszy może 96 bajtów.

Na strukturę buforowania nie musiałbym przechowywać więcej niż 50 000 obiektów i myślę, że mógłbym pracować z 10 różnymi strukturami (każdy dla innego typu obiektu).

Najważniejszą częścią jest szybkość, inaczej mógłbym po prostu wykonać zapytania. Nie chodzi tylko o to, że musiałbym tworzyć zapytania, ale także tworzyć nowy obiekt, a nie tylko ponownie wykorzystywać lub ponownie wysyłać stary obiekt.

Oto moje pytanie:

Jaki byłby najlepszy sposób buforowania danych / obiektów na podstawie dostarczonych informacji I DLACZEGO?

Edytować: Oh i kiedy mam na myśli struktury Nie mam na myśli struct Po prostu nie wiedziałem, jak powinienem odwoływać się do mapy kolejek wektorowych itp. W tym samym czasie może kontener byłby lepszy :).

questionAnswers(1)

yourAnswerToTheQuestion