我刚刚安装yum install memcached
在 MySQL 服务器上。但是,照原样service memcached status
做Running..
更多的事情,因为我认为性能方面没有发生任何事情。我想我仍然需要配置 MySQL 以使用 Memcached。
- MySQL 端需要什么配置才能与 Memcached 对话?(怎么做?)
- 甚至还需要从 Web Server 端进行配置?
请帮助我卡住了。
Memcached不是MySQL 性能插件 - 它通常用作 write-though 或 write-back缓存系统 - 通常您需要存储常用的键/值对而不访问数据库,除非它们发生更改 - 从而减少数据库的负载。
访问 Memcached 网站提供了有用的信息:
免费和开源、高性能、分布式内存对象缓存系统,本质上是通用的,但旨在通过减轻数据库负载来加速动态 Web 应用程序。
Memcached 是一种内存键值存储,用于存储来自数据库调用、API 调用或页面渲染结果的任意数据(字符串、对象)的小块。
超简单的伪代码示例:
Read:
if data in memcache {
// Retrieve and use
} else {
// Pull from DB, use and write to memcache
}
或者,在这里,Memcached 描述了一个缓存结果的简单示例:
Cache Results:
function get_foo(foo_id)
foo = memcached_get("foo:" . foo_id)
return foo if defined foo
foo = fetch_foo_from_database(foo_id)
memcached_set("foo:" . foo_id, foo)
return foo
end
除非您编写软件/代码库以使用它(通常,您编写数据库函数以在访问数据库之前检查缓存),否则它不会做任何事情。值得阅读 Memcached的缓存故事,以了解基本的用例场景。
从历史上看,有些人将它与在 MySQL 中使用 HEAP 或内存表进行比较,但它并不相同,它可以分布在集群中的许多机器上和/或通过有可用/未分配内存可用的网络上 - 甚至在一个服务器。
如果您想了解它的规模价值,那么只需查看使用它的公司列表即可。
你在找这个吗?
mysql5.6现在支持memcache集成版插件。如果在这种情况下,您不需要安装另一个 memcached 服务器。只需安装 mysql 5.6。和 memcached 插件。
然后.. 正如您在该页面中看到的.. 您可以将 memacached 命令发送到 memcached 服务器,memcached 插件会自动写入您想要的备份表。
我认为应该有更多改进的一件事是表字段类型。只能使用 varchar/text/blob 类型(要与 memcached 服务器交互的备份表字段...)。
PS)
听说 memcached 插件 DML 吞吐量惊人。但是当我尝试时,我只有?进步了30%...