Memcached备份、还原的的示例

昝辉Zac Zac的SEO博客,坚持12年,优化成为生活。

理论上,Memcached 不需要做备份、还原这种事情,因为存在彦面的东西应该都是 Cache,没有使用 Memcached 的话,速度应该只会比较慢,而不应该会有影响才对.

注1:Memcached restart 后,所有资料都会清空.

注2:这次遇到的主要是实验用的项目,刚好要搬机器,实验不想中断,所以才用此方式

Memcached 备份、还原的方式

先看 Memcached 的限制条件:Key 长度 250 bytes,预设 Value 1M(可透过 -I 2M 设定),设定过期时间的话,过期时间最多设定30天(设 0 为永不过期的意思).

Ref:NewCommands - memcached - Make Me a Sandwich - Memcached

一般 Memcached 能提供的方式都是 Dump key,然后自己再写程式捞出来,做写入(ADD)的动作,这边有比较简易的操作方式.(利用 memcached-tool + nc 来达成).

Memcached 备份、还原的步骤:

假设要将 192.168.1.1 的 memcached data 备份到 localhost 192.168.1.1. 那台 memcached ip 不能跑 localhost,代码如下:

  1. wgethttps://raw.githubusercontent.com/memcached/memcached/master/scripts/memcached-tool
  2. chmod+x./memcached-tool
  3. ./memcached-tool192.168.1.1:11211dump>data#备份,data内容大致如下:
  4. add19bc2701c3898279jkds1jklc272b35f01413178136506
  5. a:3:{s:4:"text";..................}

注:1413178136 # timestamp,若是资料过期,汇入后找不到,代码如下:

  1. nclocalhost11211<data#还原
  2. #验证
  3. ./memcached-toollocalhost:11211dump>local-data
  4. wc-llocal-data
  5. wc-ldata

看看上述两个资料笔数是否正确.

上述参考自此篇:memcache dump and load

PHP 版 Memcached backup / restore

另外有 PHP 的 Memcached backup / restore 程式,可以参考看看(注:我没用过),下述摘录自此篇:Meabed/memcached-php-backup-restore - Save / Restore data from Memcache to File

  1. phpm.php-h127.0.0.1-p112112-oprestore
  2. -h:MemcacheHostaddress(defaultis127.0.0.1)
  3. -p:MemcachePort(defaultis11211)
  4. -p:Operationisrequired!!(availableoptionsis:restore,backup)
  5. phpm.php-h127.0.0.1-p112112-opbackup --phpfensi.com
  6. phpm.php-h127.0.0.1-p112112-oprestore

其它 Memcached 相关工具

Memcached 有其它方便使用的工具,可以尝试看看.

  1. sudoapt-getinstalllibmemcached-tools#下述取自:Welcometothelibmemcacheddocumentation
  2. memcapable-CheckingaMemcachedservercapibilitiesandcompatibility
  3. memcat-"cat"datafromaserver
  4. memcp-Copydatatoaserver
  5. memdump-Dumpingyourserver
  6. memerror-translateanerrorcodetoastring
  7. memflush-flushalldatafromaserver
  8. memrm-Removedatafromaserver
  9. memslap-Loadtestingandbenchmarkingaserver
  10. memaslap-Loadtestingandbenchmarkingaserver
  11. memstat-Gatherstatisticsfromaserver
  12. memexist-Checkfortheexistanceofakey
  13. memparse-Parseanoptionstring
  14. memping-Testtoseeifaserverisavailable.
  15. memtouch-Touchesakey.
  16. ex:memccat--servers=127.0.0.1

相关广告
  • Memcached备份、还原的的示例 Memcached备份、还原的的示例 Memcached备份、还原的的示例
相关阅读

Memcached备份、还原的的示例

2019/10/10 17:32:11 | 谷歌SEO算法 | 百度细雨算法