我必须失去我认为有些事情真的很明显在这里,但我试图做的是使用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
我已添加其他信息以帮助解决此问题 –