Wenn du die Daten in einer Datei haben willst, nutze für die Gildenliste einfach ein Array, welches du mit serialize wegschreibst und mit unserialize wieder einliest. Da meistens die Mitgliederanzahl einer Gilde die 500er-Marke nicht überschreitet, dürfte das sogar auch noch sehr performant sein. Die Frage hier ist aber auch, wieviele Leute gleichzeitig auf deine Webseite zugreifen wollen. Ab einer gewissen Anzahl ist das nämlich alles andere als performant und sehr speicherlastig. Aber immer noch besser, als jedes mal einen Armory-Request zu machen.
Bedenke aber auch, das nicht jeder Provider es erlaubt, einfach so Dateien auf seinem Webspace anzulegen. Ich würde gerade für einen Cache immer eine Datenbank bevorzugen. Bessere Zugriffszeiten, weniger Speicherverbrauch bei vielen Besuchern und bessere/schnellere Filtermöglichkeiten. Alternativ kann man über SHMOP die Gildenliste auch permanent im RAM des Servers halten. Das ist performant, benötigt keine Datenbank und auch keine sparate Datei. Auch der Speicherverbrauch hält sich dann bei richtiger Anwendung in Grenzen, da die Liste für alle Homepage-Zugriffe nur einmal im RAM liegt. Jedoch ist nach jedem Server- oder Dienst-Neustart die Liste dann erstmal weg und müsste neu vom Armory abgeholt werden. Hier wird es dann kritisch, wenn das Armory genau dann nicht erreichbar ist. Außerdem ist auch SHMOP nicht bei jedem Provider aktiviert.
Ich denke aber, das mittlerweile nahezu alle Provider eine Datenbank zu Ihrem Webspace anbieten. Optimal wäre es natürlich, wenn du alle 3 Speicherfunktionen in deinem Modul anbieten könntest (SHMOP, Datei, Datenbank). Erst dann kannst du recht sicher sein, das wirklich nahezu jeder dein Modul verwenden kann.
Ich würde dir ja auch gerne bei deinem Projekt helfen, jedoch arbeite ich gerade selbst an einem Armory-Modul, welches speziell für unser DKP-System gedacht ist.
Für Tips oder Fragen stehe ich aber gerne zur Verfügung.