Aby stworzyć prosty system cache dla strony internetowej opartej na HTML, CSS, PHP i MySQL, możesz wykorzystać pliki do przechowywania zbuforowanych danych lub zastosować mechanizm buforowania w pamięci, jak APCu lub Memcached. W tej odpowiedzi skupię się na prostym podejściu z użyciem plików.
Krok 1: Ustal, co chcesz cache’ować
Zdecyduj, które dane chcesz zbuforować. Na przykład, może to być wynik zapytania do bazy danych lub wygenerowany HTML.
Krok 2: Utwórz plik cache
Możesz tworzyć pliki cache, które będą przechowywały dane na dysku. Przykładowo, załóżmy, że chcesz zbuforować wynik zapytania do bazy danych.
Krok 3: Stwórz funkcję do zarządzania cache
Oto przykładowa funkcja, która zarządza cache:
function getCache($cacheKey, $cacheTime = 3600) { $cacheFile = 'cache/' . md5($cacheKey) . '.cache'; // Sprawdź, czy plik cache istnieje i czy jest aktualny if (file_exists($cacheFile) && (time() - filemtime($cacheFile)) < $cacheTime) { // Wczytaj dane z pliku cache return file_get_contents($cacheFile); } return false; // Cache nie istnieje lub jest przestarzałe } function setCache($cacheKey, $data) { $cacheFile = 'cache/' . md5($cacheKey) . '.cache'; // Zapisz dane do pliku cache file_put_contents($cacheFile, $data); }
Krok 4: Użyj cache w swoim kodzie
Możesz teraz używać tej funkcji w swoim kodzie PHP. Przykład, jak zbuforować wyniki zapytania do bazy danych:
$cacheKey = 'my_query_cache'; // Klucz cache $cachedData = getCache($cacheKey); if ($cachedData !== false) { // Użyj zbuforowanych danych echo $cachedData; } else { // Wykonaj zapytanie do bazy danych $query = "SELECT * FROM my_table"; $result = mysqli_query($connection, $query); $data = ''; while ($row = mysqli_fetch_assoc($result)) { $data .= "<div>{$row['column_name']}</div>"; // Przykładowe wyświetlanie danych } // Zapisz dane do cache setCache($cacheKey, $data); // Wyświetl dane echo $data; }
Krok 5: Tworzenie folderu cache
Upewnij się, że masz folder cache
w swoim projekcie, do którego PHP ma prawo zapisu. Możesz to zrobić za pomocą polecenia w terminalu:
mkdir cache chmod 777 cache
Krok 6: Ustalenie czasu życia cache
Wartość $cacheTime
w funkcji getCache()
określa czas życia cache w sekundach. Możesz dostosować ten czas w zależności od tego, jak często zmieniają się dane w Twojej aplikacji.
Podsumowanie
To prosty sposób na wdrożenie mechanizmu cache w aplikacji opartej na PHP i MySQL. Użycie plików cache może znacznie przyspieszyć czas ładowania strony, ponieważ zmniejsza liczbę zapytań do bazy danych. W przypadku większych aplikacji lub większego obciążenia, rozważ użycie bardziej zaawansowanych rozwiązań, takich jak Redis czy Memcached.