易截截图软件、单文件、免安装、纯绿色、仅160KB

让memcached和mysql更好的工作

 这次是Fotolog
的经验,传说中比Flickr更大的网站
,Fotolog在21台服务
器上部署了51个memcached实例,总计有254G缓存空间
可用,缓存了多达175G的内容,这个数量比很多网站的数据库都要大的多,原文是A Bunch of Great Strategies for Using Memcached and MySQL Better Together
,我这里还是选择性的翻译以及按照我的理解补充,感谢Todd Hoff
,总能给我们
一些学习
的案例,从这里也能看出国外技术
的开放态度,不似我们,其实就那么点小九九还藏着掖着,好了,进入正题。
一、关于memcached
  还不知道这个?那你去面试的时候要吃亏了,赶紧去官方网站看一下http://www.danga.com/memcached/
,另外google一下用法,硬盘总是太慢,把数据存在内存里面吧,如果你只有一台服务器,推荐用一下APC
(Facebook在用)或者eaccelerator
或者Xcache
(国人开发的),这些产品单机效果更好,如果你需要
分布式的缓存方案,那么用memcached吧。
二、memcached如何与mysql并肩作战?
通过数据库分片来解决数据库写扩展的问题把数据库分片,部署到不同的服务器上,免得只有一个主服务器,写操作成为瓶颈以及可能有的“单点故障”,一般的数据库分片主要是按照业务来分,尽可能的拆分业务,不相干的都独立起来
做成服务也好
前端mysql和一堆memcached服务器来应付读的问题应用程序首先从memcached中获取数据,获取不到再从数据库中获得并保存
在memcached中,以前看过一篇文章说好的应用95%的数据从memcache的中获得,3%的数据从mysql的query cache中获得,剩下2%才去查表,对比一下你的应用,差距有多远?
通过mysql复制(master-slave)来解决读的问题
首先mysql数据库通过master-slave读写分离,多个slave来应对应用程序读的操作。
三、为什么不用mysql的query cache?
  我们都知道mysql有个query cache,可以缓存上次查询的结果,可实际上帮不上太多的忙,下面是mysql quety cache的不足:
只能有一个实例
意味着你能存储内容的上限就是你服务器的可用内存,一台服务器能有多少内存?你又能存多少呢?
只要有写操作,mysql的query cache就失效
只要数据库内容稍有改变
,那怕改变的是其他行,mysql的query cache也会失效
mysql的query cache只能缓存数据库数据行
意味着其他内容都不行,比如数组,比如对象,而memcached理论上可以缓存任何内容,甚至文件^_^
四、Fotolog的缓存技术
非确定性缓存


相关文档:

Sql在Mysql的执行

     昨天解析了dblp.xml,存入数据库,生成了若干张临时表。今天上午,对这些临时表进行处理,然后存入实验设计的表中。数据库的数据量比较大,50多M,80多万条记录。因而执行sql时,就遇到了很多问题。
1、去除重复tuple
     原始dblp.xml中,同一论文的存在几个完全相同的&l ......

mySQL 数据的导入导出

几个常用用例:
1.导出整个数据库
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
2.导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
3.导出一个数据库结构
mysqldump ......

python mysql导入数据

[root@pku-fan MySQL]# cat limbs.sql
CREATE DATABASE cookbook;
USE cookbook;
DROP TABLE IF EXISTS limbs;
CREATE TABLE limbs
(
    thing   VARCHAR(20),    # what the thing is
    legs    INT,     ......

mysql event调用存储过程

mysql event (用来实现定时任务)。mysql

5.1.16
开始拥有的新功能。
下面我写一个简单的示例。
先创建数据库和两个表:
drop database dep;
create database dep;
use dep;
create table aa
(id int AUTO_INCREMENT primary key,
remark varchar(20)
);
create table bb
(id int AUTO_INCREMENT primary k ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号