我必須失去我認爲有些事情真的很明顯在這裏,但我試圖做的是使用MySQL 5.6,並通過內存緩存使用MySQL 5.6的Memcache
所以我已經設置了MYSQL返回值使用的內存緩存插件,在innodb_memcache.containers表中設置細節
我現在在表中有兩個項目,默認的由MySQL和我自己的設置輸入,他們都有表名。
要獲得通過PHP數據我用:
$memcache->get($key);
其中$關鍵是在數據庫列中的數據
然而,這沒有返回,我懷疑的原因是,根據MySQL的文檔如果沒有指定表名,它會選擇列表中的第一個,這不是我想要的,我不明白的是我如何在鍵中指定正確的表名,以便知道要查看哪個表爲鑰匙英寸
附加信息:
table design:
table: codes
id INT PK
code VARCHAR UNIQUE
codeval VARCHAR
innodb_memcache.containers :
name: mycode
db_schema: databaseName
db_table: codes
key_columns: code
value_columns: codeval
flags: id
cas_column: null
expire_time_column: null
unique_idx_name_on_key: code
代碼:
$table = "mycode";
$key = "123456";
$memcache = new Memcache;
$memcache->connect($this->CONNECTURL, $this->CONNECTPORT) or die ("Could not connect");
$version = $memcache->getVersion();
echo "Server's version: ".$version."<br/>\n";
$key = "@@" . $table . "." . $key . "." . $table;
$get_result = $memcache->get($key);
print_r($get_result);
上面的代碼返回服務器版本沒有問題,所以連接是否正常。 的print_r($ get_result)返回空白,當它應該返回一個值
它拋出一個通知:試圖讓非對象的屬性
因此,如果有人可以讓我知道我是如何與指定$ key我通過memcache查詢哪些表,我將非常感謝!
要獲得答案,您需要指定數據表結構,innodb_memcache.container記錄以及您打算如何從Memcache($ key的確切值)檢索緩存的數據。 – Mehran
我已添加其他信息以幫助解決此問題 –