バックグラウンド:
ライブ サーバーに PHP Memcached 拡張機能をインストールしました。さまざまな努力にもかかわらず、XAMPP 開発ボックス内に Memcached をインストールできないようです。そのため、次のコードを使用して、Live サーバーでのみ Memcached をインスタンス化しています。
すべてのページに含まれている私の接続ファイル:
// MySQL connection here
// Memcached
if($_SERVER['HTTP_HOST'] != 'test.mytestserver') {
$memcache = new Memcached();
$memcache->addServer('localhost', 11211);
}
現時点では、各メソッドをインスタンス化していますが、目的を達成するためのより良い方法があると考えずにはいられず、誰かアイデアがあるかどうか疑問に思っていますか?
私のクラスファイル:
class instrument_info {
// Mysqli connection
function __construct($link) {
$this->link = $link;
}
function execute_query($query, $server) {
$memcache = new Memcached();
$memcache->addServer('localhost', 11211);
$result = mysqli_query($this->link, $query) or die(mysqli_error($link));
$row = mysqli_fetch_array($result);
if($server == 'live')
$memcache->set($key, $row, 86400);
} // Close function
function check_something() {
$memcache = new Memcached();
$memcache->addServer('localhost', 11211);
$query = "SELECT something from somewhere";
if($_SERVER['HTTP_HOST'] != 'test.mytestserver') { // Live server
$key = md5($query);
$get_result = $memcache->get($key);
if($get_result) {
$row = $memcache->get($key);
} else {
$this->execute_query($query, 'live');
}
} else { // Test Server
$this->execute_query($query, 'prod');
}
} // Close function
} // Close Class