Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> PHP /MySQL Προγραμματισμός

Cache PHP MySQL Query Αποτελέσματα

Αρχίζοντας με την έκδοση MySQL τέσσερα , δεν είναι πλέον απαραίτητο να γράψει προσαρμοσμένου κώδικα PHP για την προσωρινή αποθήκευση τα αποτελέσματα του ερωτήματος MySQL . MySQL περιέχει μια ενσωματωμένη μνήμη cache ερώτημα που θα cache αποτελέσματα για τα ίδια " SELECT" δηλώσεις , συμπεριλαμβανομένων των έτοιμων δηλώσεων . Για να χρησιμοποιήσετε τη μνήμη cache , επεξεργαστείτε το αρχείο ρυθμίσεων και ενεργοποιήστε την . Μόλις ενεργοποιηθεί , ωστόσο , έχετε τη δυνατότητα να παρακάμψετε ένα ερώτημα κατά πόσον είναι προσωρινά περνώντας μια λέξη κλειδί στο ερώτημα που στέλνετε από PHP για MySQL . Επανεξέταση των περιορισμών της μνήμης cache ερωτήματος για να βεβαιωθείτε ότι έχετε καταλάβει πώς λειτουργεί η μνήμη cache πριν να γράψει ένα PHP script με την cache απορία στο μυαλό . MySQL Query Cache
Η

Η λανθάνουσα μνήμη ερωτημάτων MySQL συλλαμβάνει μια παράσταση ερωτήματος από το "SELECT " ερώτημα και το πλήρες σύνολο αποτελεσμάτων και τα τοποθετεί σε μια προσωρινή μνήμη cache στο δίσκο ή στη μνήμη του . Όταν ένα PHP script εκδίδει το ίδιο ερώτημα σε ένα που είχε εκτελεστεί προηγουμένως και προσωρινά , τα αποτελέσματα που εξυπηρετούνται από την cache και όχι στη βάση δεδομένων . Αυτό μπορεί να μειώσει σημαντικά την ποσότητα του χρόνου που απαιτείται για την παροχή των αποτελεσμάτων , η οποία βελτιώνει την απόδοση του προγράμματος PHP .
Εικόνων Περιορισμοί
Η

Η λανθάνουσα μνήμη ερωτημάτων MySQL λειτουργεί μόνο με " ? SELECT " ερωτήματα και θα είναι μόνο προσωρινή μνήμη πλήρους ερωτήματα , δεν subselects ή απόψεις inline . Η λανθάνουσα μνήμη ερωτημάτων θα cache έτοιμες καταστάσεις , αλλά δεν θα cache συναλλαγές της βάσης δεδομένων . Μην συμπεριλάβετε σχόλια στην αρχή των ερωτημάτων στις δηλώσεις PHP . Αν μια κατάσταση ερώτημα δεν αρχίζουν με το γράμμα " S ", MySQL θα καθορίσει ότι δεν είναι ένα ερώτημα " SELECT" και δεν θα αποθηκεύονται τα αποτελέσματα . Για παράδειγμα :

//Μην το κάνεις αυτό $ query = " /* $ name είναι τρέχον μέλος * /SELECT * FROM μέλη WHERE name = $ ονομασία« ;//Κάντε αυτό αντί $ query = " SELECT * ΑΠΟ μέλη WHERE name = $ name /* $ όνομα είναι τρέχον μέλος * /" ? $ result = mysql_query ( $ query ) ?

Η Query Cache Ρύθμιση
Η

για να διαμορφώσετε τη μνήμη cache ερώτημα MySQL , επεξεργαστείτε το αρχείο ρυθμίσεων της MySQL στο web server , για παράδειγμα " /etc /mysql /my.cnf » σε ένα web server Apache , και να ρυθμίσετε το " query_cache_type " και το " ερώτημα - cache μεγέθους " μεταβλητές . Για « query_cache_type , " η τιμή μηδέν απενεργοποιεί την cache ? Ένα ενεργοποιεί την cache ? " . On demand" και δύο σύνολα η μνήμη cache για να επιλέξετε ένα μέγιστο μέγεθος για τη μνήμη cache ερώτημα , συνήθως μεταξύ 20 και 100 megabytes , και προσθέστε τις ακόλουθες γραμμές στο τέλος του αρχείου διαμόρφωσης για να ενεργοποιήσετε τη λανθάνουσα μνήμη ερωτημάτων και να ρυθμίσετε το μέγεθος σε 20 megabytes :

ερώτημα - cache - type = 1query - cache - size = 20M

Η Προσωρινή αποθήκευση " On Demand "
Η

Αν θέλετε να ελέγξετε ποιες αποτελέσματα του ερωτήματος αποθηκεύονται προσωρινά από το PHP script σας , ρυθμίστε το " τύπου ερώτημα - cache" στο " 2 " ? και να περάσει τη λέξη κλειδί " SQL_CACHE " μετά το "SELECT " δήλωση σε ένα ερώτημα PHP . Για παράδειγμα :

$ query = "SELECT * FROM SQL_CACHE πελάτες ΟΠΟΥ cust_id = " 0089324 " ? $ Result = mysql_query ( $ query ) ?

Αν η μνήμη cache ερώτημα είναι ενεργοποιημένη και δεν θέλετε να αρχειοθετεί ένα συγκεκριμένο ερώτημα , να περάσει τη λέξη κλειδί " SQL_NO_CACHE " από την PHP . Για παράδειγμα :

$ query = "SELECT * FROM SQL_NO_CACHE πελάτες ΟΠΟΥ cust_id = " 0089324 " ? $ Result = mysql_query ( $ query ) ?

Η

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα