我很难清楚地了解什么是MySQL 5.6正在引入w / r / t memcache.
据我了解,memcache本质上是一个巨大的,共享的,驻留内存的哈希表,由服务器memcached管理.特别是,它对持久性数据存储一无所知,并且在这方面不提供任何服务.它只知道键和值(例如Perl哈希).
我认为MysqL 5.6引入的是Nosql API,由此MysqL客户端可以通过密钥而不是SELECT语句从MysqL服务器请求数据. (并且类似地,他们可以使用key = value对执行更新). MysqL使用memcached将这些内容缓存在内存中以提高性能,但也要注意诸如在更新过期之前将更新写回数据库等问题.
换句话说,memcached的使用是MysqL 5.6 Nosql功能的实现细节,并且不是应用程序程序员需要注意的事情.
我欢迎对我的理解进行任何更正或扩大.
谢谢,
小伙子
解决方法:
我认为这很简单(根据官方文档):
我不同意您的最后一句话,应用程序程序员必须真正意识到memcache插件,因为将其安装在MysqL服务器上意味着他可以决定(也许会被迫)通过memcached语言界面或通过sql接口
为了更好地了解此插件对应用程序设计的影响,您应该知道MysqL使用3个配置表来进行适当的内存缓存管理.了解“ cache_policies”的工作原理将为您的某些疑问提供一些帮助:
Table cache_policies specifies whether to use InnoDB as the data store of memcached (innodb_only), or to use the Traditional memcached engine as the backstore (cache-only), or both (caching). In the last case, if memcached cannot find a key in memory, it searches for the value in an InnoDB table.
这里是链接:innodb-memcached-internals
上面的引号表示,根据您为特定键值决定的内容,您将有不同的应用场景:
> innodb_only->意味着您可以通过sql接口或memcached接口查询数据,这是一些memcached语言接口示例memcached-interfaces的链接
>仅缓存->意味着您应该仅通过memchached接口查询数据
>缓存->表示您可以同时使用两个接口(请注意,存储机制会稍有变化)
当然,后一个配置决定与您的特定需求严格相关
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。