Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

Memcache für ein Forum

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
marc77
PostRank 8
PostRank 8
Beiträge: 849
Registriert: 22.05.2007, 21:41

Beitrag von marc77 » 19.08.2010, 12:30

hallo,

memcache ist auf meinem server installiert. Ich hab jetzt schon soviele tutorials gelesen aber wirklich umsetzen kann ich es leider nicht.

Sobald ich das einmal richtig verstanden habe...in einem konkreten fall in meinem code...komm ich denke ich zurecht.

Brauch ich z.b. eine memcache klasse?
wieviele MB sollte ich für memcache bereitstellen?
wie schreibe ich eine bestehende sql abfrage so um, dass sie dann gecacht wird?!

danke

Anzeige von ABAKUS

von Anzeige von ABAKUS »

Content Erstellung von ABAKUS Internet Marketing
Ihre Vorteile:
  • einzigartige Texte
  • suchmaschinenoptimierte Inhalte
  • eine sinnvolle Content-Strategie
  • Beratung und Umsetzung
Jetzt anfragen: 0511 / 300325-0

tmyp
PostRank 6
PostRank 6
Beiträge: 483
Registriert: 07.08.2010, 15:00

Beitrag von tmyp » 19.08.2010, 14:12

Je nachdem, was Du mit memcache-Klasse meinst brauchst Du eine, oder auch nicht. Du brauchst einen Client für memcache.
Wieviel MB Du memcache geben solltest hängt davon ab, wie groß ein durchschnittliches gecachtes Objekt sein soll und wieviele Du davon haben willst.

Das SQL schreibst Du gar nicht um, Du prüfst, ob es ein gecachtes Ergebnis gibt, bevor Du das SQL ausführst.
Wenn es keins gab, läuft das SQL und anschließend packst Du das Ergebnis in den Cache.


Die Einführung auf Wikipedia finde ich recht gut verständlich.

marc77
PostRank 8
PostRank 8
Beiträge: 849
Registriert: 22.05.2007, 21:41

Beitrag von marc77 » 20.08.2010, 09:53

hast du vielleicht auch eine statistik?

es gibt ja dieses php statistik script für memcache, leider ist aber die seite offline

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


tmyp
PostRank 6
PostRank 6
Beiträge: 483
Registriert: 07.08.2010, 15:00

Beitrag von tmyp » 20.08.2010, 10:22

Was für eine Statistik meinst Du?

marc77
PostRank 8
PostRank 8
Beiträge: 849
Registriert: 22.05.2007, 21:41

Beitrag von marc77 » 20.08.2010, 12:47

ich wollte das von harun yari...

ist leider nur noch im cache, da die seite offline ist..was vergleichbares hab ich nicht gefunden...

https://webcache.googleusercontent.com/ ... clnk&gl=de

Frage zu SQL mit memcache:

vorher:

Code: Alles auswählen

$sql = "SELECT c.cat_id, c.cat_title, c.cat_order
	FROM " . CATEGORIES_TABLE . " c
	ORDER BY c.cat_order";
if( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, 'Could not query categories list', '', __LINE__, __FILE__, $sql);
}

$category_rows = array();
while ($row = $db->sql_fetchrow($result))
{
	$category_rows[] = $row;
	// Kategorie Titel
	if ( $row['cat_id'] == $viewcat ) { $this_cat_title = $row['cat_title']; }
	// Kategorie Titel
}
$db->sql_freeresult($result);
nachher:

Code: Alles auswählen

$kategorienholen = $memcache->get("kategorien"); 

if (!$kategorienholen)        
{

$sql = "SELECT c.cat_id, c.cat_title, c.cat_order
	FROM " . CATEGORIES_TABLE . " c
	ORDER BY c.cat_order";
if( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, 'Could not query categories list', '', __LINE__, __FILE__, $sql);
}

$category_rows = array();
while ($row = $db->sql_fetchrow($result))
{
	$category_rows[] = $row;
	// Kategorie Titel
	if ( $row['cat_id'] == $viewcat ) { $this_cat_title = $row['cat_title']; }
	// Kategorie Titel
}
$db->sql_freeresult($result);

$memcache->set("kategorien",$kategorienholen,0,120); 
}
leider gehts nicht...wo ist hier mein fehler? danke

seonewbie
PostRank 9
PostRank 9
Beiträge: 1939
Registriert: 21.10.2006, 20:50

Beitrag von seonewbie » 20.08.2010, 14:13

Ehrlich gesagt klingt das als wenn Du von MySql Optimierung
nicht die Bohne Ahnung hättest. Es bringt dir gar nicht mit memcache
zu hantieren ohne das Du die Grundlagen verstanden hast.
Das ist so als wenn Du einen Fahranfänger einen Ferrari gibst.

Kannst Du mit Tuning-primer und mysqltuner richtig umgehen?

https://serversupportforum.de/forum/sql ... cript.html

https://www.huschi.net/12_302_de.html
https://www.huschi.net/10_54_de.html

https://www.huschi.net/10_299_de.html?highlight=tuning


Wenn Du das verstanden hast brauchst Du für ein einzelnes Forum
garantiert keinen Memcache!

Memcache wird benötigt für Multiplattformen also WordpressMU, Server wo
kostenlose Foren angeboten werden ( also ein paar hundert)

Gruß

Micha
Suche Linktausch zum Thema Mode. Bitte PM
Backlink-Generator | Artikelverzeichnis | PageRank | SEnuke X
Don't smoke, don't fight, don't light no cigarettes,
Or else you'll wind up in the can!
No jokes, no rights, sit tight, don't fool around,
You are a guest of Uncle Sam!
AC/DC "I'll be damned"

marc77
PostRank 8
PostRank 8
Beiträge: 849
Registriert: 22.05.2007, 21:41

Beitrag von marc77 » 20.08.2010, 15:05

richtig, man kann nicht alles wissen. wenn du es machen magst, nenn mir deinen Stundenlohn oder sag mir jemand der es macht und davon ahnung hat.

TonyBologni
PostRank 1
PostRank 1
Beiträge: 16
Registriert: 26.02.2010, 15:50

Beitrag von TonyBologni » 31.08.2010, 15:24

@marc77:
Lass Dich nicht verunsichern!

Memcache macht natürlich auch für ein einzelnes Forum etc. Sinn. Für jede Website, bei der die Performance optimiert werden soll und man "teure" Funktionen (wie DB Abfragen) hat, die sich wiederholen. Wenn fast nur unterschiedliche Abfragen erzeugt werden, dann wird man kaum Cache Treffer haben. Ich habe jahrelang ein von mir selbst programmiertes Forum betreut und dort war das Caching sehr effektiv bei den als Baum dargestellten Postings jedes Threads und der Übersicht der Threads (Themen).

Der Fehler in Deinem "nachher" Code ist, dass $kategorienholen nie mit den Daten aus der DB befüllt werden!

Anstatt
$memcache->set("kategorien",$kategorienholen,0,120);
sollte sowas stehen:
$memcache->set("kategorien",$category_rows,0,120);

Andere Fehler konnte ich auf den ersten Blick nicht sehen, aber wenn Du nie was in den Cache reinsteckst, bekommst Du auch nichts raus. ;-)

Du solltest eventuell noch die Compression verwenden (3. Parameter, 0 in Deinem Beispiel), wenn die zlib Erweiterung installiert ist oder installiert werden kann (einfach ausprobieren).

Ansonsten: Mein Stundensatz ist 53,- Euro -> anton@stoeckl.de :-)

Gruß, Tony
Persönliche Kunstwerke vom Foto auf Poster oder Leinwand: www.pixeltalents.com

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag