服务器操作系统为CentOS,安装了Memcached
在安装 Memcached 之前,我使用
mysqldump -u root -p --lock-tables --add-locks --disable-keys --skip-extended-insert --quick wcraze > /var/backup/backup.sql
但现在,Memcached已经安装好了。
根据维基百科;
当表已满时,后续插入会导致较旧的数据按照最近最少使用 (LRU) 的顺序被清除。
这意味着新的数据条目不直接保存在MySQL中,而是保存在Memcached中,直到limit_maxbytes
写满为止,访问次数最少的数据将保存在MySQL中。
这意味着,有些数据不在 MySQL 中,而是在 Memcached 中。因此,备份时,新条目不在备份数据中
正确的备份方式是怎样的?
答案1
Memcached 不会将数据持久保存到磁盘。您的应用程序应该将 Memcached 用作缓存,而不是用于任何类型的持久性。所有数据都应存储在 MySQL 中,因此您的备份过程也应该如此。如果重要数据存储在 Memcached 中,而不是 MySQL 中,那么这就是您的应用程序的严重设计缺陷。
MySQL 中 Memcached 的总体概述:http://dev.mysql.com/doc/refman/5.1/en/ha-memcached.html