MySQL with Memcached 简介

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介:

在传统的环境下,访问信息的速度成为最大的可扩展性问题。为了频繁地访问信息,使用MySQL可能会变得很慢,原因是每一次数据访问,都必须请求执行SQL查询,以从数据库得到信息。这也意味着那些在某些时刻被锁住的或者正阻塞的表,可能延迟你的查询,或者降低了你获取信息的速度。

而memcached则是一个简单的,并且是高可扩展性的,基于key的缓存策略。我们可以用它在任何专用的或者剩余的RAM中存储数据以及对象,以加速程序对这些数据的访问速度。你可以运行memcached在一个甚至多个主机上,然后就可以使用共享的缓存来存储对象。因为,每一个主机的RAM都存储着信息,访问速度就会比从硬盘上加载来得快得多。它的性能比从本地数据库检索、加载数据有显著的提高。

也许只是因为这里的缓存只是一个信息“库”。你可以使用缓存来存储任何数据。包括可能需要大量地创建才能构建的复杂的结构。但在这种“ready-to-use”模式下,有助于减少你的MySQL服务器上的负载。

通常的使用环境是修改你的应用程序来让memcached提供的缓存,存储你需要读取的信息。如果信息不在memcached中,那么它将从MySQL数据库中被加载,然后被写入缓存,以便将来从缓存的数据中取出相同对象的便利。

图 1-1 memcached Architecture Overview

在例子中的结构中,任意的客户端都能够连接到其中的一个memcached服务器来请求一个Key。插图中每一个客户端都可以连接到所有的服务器。对一个客户端来说,如果请求存储数据,那么这个用于引用数据的Key将被“哈希”做散列处理,然后用来选择其中的一个memcached服务器。在连接到服务器之前,对memcached服务器的选择将会在客户端发生,以此来保持处理的“轻量级”。

当一个客户端请求相同的Key时,相同的算法也将被再次使用。相同的Key通常产生相同的哈希值,并且也将选择相同的memcached服务器作为“数据源”。使用这种方式,被缓存的数据可以在所有的memcached服务器之间传播,并且被缓存的数据在任何的客户端都是可访问的。据此可以得出这样的结论:一个分布式的,基于内存的缓存机制,返回信息,特别是复杂的数据、结构比从本地从数据库加载要快得多。

一个memcached服务器所持有的数据将永远不会存储在磁盘上(仅仅只会被存储在内存中,这意味着数据不能够被持久化)。并且“只读存储器”缓存总是从后台存储(比如一个MySQL数据库)来填充它。如果一个memcached服务器“当机”了,那么数据也能够从MySQL数据库中恢复,尽管这样做的速度比从缓存中加载信息慢得多。

在2011年四月,MySQL发布了用于InnoDB以及MySQL簇存储引擎的一个新的memcached接口的预览。

使用memcachedAPI,web服务可以直接访问InnoDB以及MySQL簇存储引擎而不需要使用T-SQL,同时能够确保低延迟和高tuntulde读写查询。那些诸如已经被淘汰的sql解析以及占用更多的服务器硬件资源(CPU、内存、I/O)操作被专门地用来服务于存储引擎本身的查询。

这些都将有针对性地纳入到未来MySQL5.6的里程碑以及MySQL集群开发的发布中去。




原文发布时间为:2011-09-22


本文来自云栖社区合作伙伴CSDN博客,了解相关信息可以关注CSDN博客。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
关系型数据库 MySQL 数据库
Mysql基础第五天,Mysql简介
Mysql基础第五天,Mysql简介
126 0
Mysql基础第五天,Mysql简介
|
SQL 关系型数据库 MySQL
MySQL技能完整学习列表3、SQL语言基础——1、SQL(Structured Query Language)简介——2、基本SQL语句:SELECT、INSERT、UPDATE、DELETE
MySQL技能完整学习列表3、SQL语言基础——1、SQL(Structured Query Language)简介——2、基本SQL语句:SELECT、INSERT、UPDATE、DELETE
398 0
|
9月前
|
存储 SQL 关系型数据库
MySQL存储引擎简介
在选择相应的存储引擎时,需要充分考虑实际业务场景、性能需求和数据一致性要求,从而为数据管理提供最佳支持。
450 17
|
12月前
|
SQL 关系型数据库 MySQL
数据库数据恢复——MySQL简介和数据恢复案例
MySQL数据库数据恢复环境&故障: 本地服务器,安装的windows server操作系统。 操作系统上部署MySQL单实例,引擎类型为innodb,表空间类型为独立表空间。该MySQL数据库没有备份,未开启binlog。 人为误操作,在用Delete命令删除数据时未添加where子句进行筛选导致全表数据被删除,删除后未对该表进行任何操作。
|
自然语言处理 Java 关系型数据库
Java mysql根据很长的富文本如何自动获取简介
通过使用Jsoup解析富文本并提取纯文本,然后根据需要生成简介,可以有效地处理和展示长文本内容。该方法简单高效,适用于各种应用场景。希望本文对您在Java中处理富文本并生成简介的需求提供实用的指导和帮助。
249 9
|
存储 Oracle 关系型数据库
索引在手,查询无忧:MySQL索引简介
MySQL 是一款广泛使用的关系型数据库管理系统,在2024年5月的DB-Engines排名中得分1084,仅次于Oracle。本文介绍MySQL索引的工作原理和类型,包括B+Tree、Hash、Full-text索引,以及主键、唯一、普通索引等,帮助开发者优化查询性能。索引类似于图书馆的分类系统,能快速定位数据行,极大提高检索效率。
218 8
|
SQL 分布式计算 关系型数据库
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
396 3
|
Oracle 关系型数据库 MySQL
Mysql(1)—简介及Windows环境下载安装
MySQL 是一个流行的关系型数据库管理系统(RDBMS),基于 SQL 进行操作。它由瑞典 MySQL AB 公司开发,后被 Sun Microsystems 收购,现为 Oracle 产品。MySQL 是最广泛使用的开源数据库之一,适用于 Web 应用程序、数据仓库和企业应用。
240 2
|
存储 关系型数据库 MySQL
[mysql]MGR简介与部署
[mysql]MGR简介与部署
565 1
|
SQL 安全 关系型数据库
MySQL的binlog日志的简介与查看
MySQL的binlog日志的简介与查看
1919 4