Frage

Ich frage mich, ob es Java-Methoden / Objekte, die Alternativen zu cfquery sein würde, dass sowohl variable sanitäre Einrichtungen ermöglichen und bessere Caching-Methoden.

Ich weiß, dass Sie Informationen Schema verwenden können Datentypen und char Längen zu bekommen, und dann verwenden, die zur Validierung des Datentyp und Länge von Variablen in einer Abfrage.

Aber mit jeder Umwandlung cfqueryparam für Bind-Variablen und variable sanitären Einrichtungen zu verwenden, das verhindert, dass auch auf einem cfquery mit Caching.

Also ich hatte gehofft, es war eine bessere Art und Weise oder Skripte, um mehr Leistung und Skalierbarkeit zu erhalten ...

Ich persönlich denke, wir brauchen eine neue Art oder Methode in cfquery-Caching. Denn das, was wir wollen wirklich nicht zu Cache für x Anzahl der Minuten, aber zu Cache, bis sich die Daten ändern, verwenden Sie frische Daten, dann cachen wieder zurück, bis die Daten wieder ändert ..

Statt jahrelang, wir haben berechnen hatte, wie lange wir ein cfquery in Coldfusion gecached werden sollen, die nicht viel Kontrolle oder das Bewusstsein von sich geben, wenn die Daten geändert wurden oder nicht ..

Ist das sinnvoll?

War es hilfreich?

Lösung

Lassen Sie uns zunächst ein Missverständnis zu beseitigen. Auf CF8 +, können Sie Abfragen, die Verwendung cfqueryparam zwischenzuspeichern. Ich bin nicht wirklich sicher, was Sie meinen „jede Umwandlung,“ entweder, da mit ihm einer bewährten Methode für eine Weile weit betrachtet wurde.

Also, ich glaube, Ihre Frage tatsächlich strittig ist. Während Sie können Cache-Abfragen manuell (und ich tue dies für andere Datentypen) cfqueryparam ein Grund, nicht gewesen ist dies in eine Weile zu tun.

Andere Tipps

Wenn Sie sich für ein „alternatives“ Verfahren zum Zugreifen auf Daten suchen, ORM (Object Relation Mapping) ist der Weg zu gehen. Wenn Sie CF9 verwenden, wird die Hibernate-Bibliothek (Java) unter der Haube verwendet, um den Zugriff und das Caching von Daten zu verwalten.

CF7 + Benutzer können die Übertragung Bibliothek benutzen, die von Mark Mandel für ORM-Funktionen eingebaut wurde.

Zusätzlich zu jarofclay 's Antwort, die ich mag, dass der Transfer ORM beachten hat eingebaute Caching-System (obwohl Version kommen kann einige noch besser bestehende Lösungen verwenden), das ist, wie es liefert eine bessere Leistung.

Jede Art und Weise, würde ich besser begann mit Schema und Abfragen Optimierung und versuchte zu verwenden Caching, kann es wirklich unterschiedliche Ebene erfolgen auf: von db auf den gerenderten Inhalt fragt nach oben.

Zum Beispiel, eine neue Version von Railo unterstützt einige Enterprise-Level-Caching-Engines wie ehcache.

IMO ist dies eine bessere Art und Weise Ihre Leistung Aufgabe zu lösen als mit Java und Abfragen zu verwirren versucht. Wenn ich die Dinge richtig zu verstehen, werden sie nach wie vor durch die gleichen Datenquellen ausgeführt werden, vielleicht sogar mit der gleichen zugrunde liegenden Byte-Code.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top