Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Cachowanie danych.
Gruchol
post
Post #1





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 28.11.2014

Ostrzeżenie: (0%)
-----


Witam,
Po dłuższym czasie postanowiłem wrócić do przygody z php. Jako swój pierwszy projekt postanowiłem zakodować stronę pewnej gry.
Aktualnie robię ranking, jednak przeszukiwanie całej bazy w której są dane kilkudziesięciu tysięcy użytkowników za bardzo obciąży serwer.
Potrzebuje wyświetlić i cachować takie dane jak czas gry, poziom gracza jakieś tam osiągnięcia itd. Chciałbym aby te dane aktualizowały się np. co 10 minut.
Na internecie znalazłem klasę nospora, jednak nie wiem jeszcze jak za bardzo się jej używa.
Prosiłbym Was o jakieś wskazówki i poradniki (mogą być anglojęzyczne) jakiej klasy użyć ew. jak to rozwiązać.
Pozdrawiam.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
daro0
post
Post #2





Grupa: Zarejestrowani
Postów: 88
Pomógł: 12
Dołączył: 17.09.2014
Skąd: Krasnystaw

Ostrzeżenie: (0%)
-----


Sam zauważyłem ten błąd i też poprawiłem.

  1.  
  2. $query = "SELECT player.player.id, player.player.name,
  3. player.player.level, player.player.playtime,
  4. player.player.last_play, player.guild.name AS 'guild_name'
  5. FROM player.player, player.guild, player.guild_member
  6. WHERE player.player.id = player.guild_member.pid
  7. AND player.guild.id = player.guild_member.guild_id
  8. ORDER BY level DESC LIMIT 5";
  9.  
  10. if (($rows = load_cache($query, 60)) === NULL)
  11. {
  12. $db = new PDO('mysql:host=localhost;dbname=test', 'root', 'qwerty123');
  13. $stmt = $db->prepare($query);
  14. $stmt->execute();
  15.  
  16. $rows = $stmt->fetchAll(PDO::FETCH_CLASS, "stdClass");
  17. save_cache($query, $rows);
  18.  
  19. }
  20.  
  21. if ($rows !== NULL)
  22. {
  23. foreach ($rows as $row)
  24. {
  25. // wyswietlasz kazdy wiersz
  26. }
  27. }
  28.  


http://php.net/manual/en/pdostatement.fetchall.php

Zwróć uwagę że otrzymasz tablicę obiektów typu stdClass a jako nazwa cache powinno być to zapytanie, dlatego też zrobiłem inaczej.

Ten post edytował daro0 27.07.2016, 06:09:22
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 11:46