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.