如何使用memcache-tool正确恢复存储在文件中的所有memcache密钥的转储?

时间:2015-07-02 13:46:46

标签: linux caching

步骤1.从localhost转储memcached密钥

shub@S04:/usr/share/memcached/scripts$ ./memcached-tool localhost:11211 dump > /tmp/backup.log
Dumping memcache contents
Number of buckets: 1
Number of items  : 4
Dumping bucket 1 - 4 total items

步骤2.将转储恢复到其中一个内部服务器

shub@S04:/usr/share/memcached$ nc 10.0.2.182 11112 < /tmp/test.log 
STORED
STORED
STORED
STORED

第3步。但是当我运行统计数据时,我只发现了1个项目,而上述命令中恢复了4个项目。

shub@S04:/usr/share/memcached/scripts$ echo "stats items" | nc 10.0.2.182 11112
STAT items:1:number 1
STAT items:1:age 588
STAT items:1:evicted 0
STAT items:1:evicted_nonzero 0
STAT items:1:evicted_time 0
STAT items:1:outofmemory 0
STAT items:1:tailrepairs 0
STAT items:1:reclaimed 24
STAT items:1:expired_unfetched 24
STAT items:1:evicted_unfetched 0
END

所以我想要一个能够恢复完整转储的命令,在这里我认为它会覆盖同一块板上的数据。

1 个答案:

答案 0 :(得分:0)

您导出的日志:

add key 32 timestamp 135 /r/n
value /r/n

当您将此数据恢复到新的内存缓存时,时间戳已过期,因此您必须将时间戳修改为0或某个未来的时间戳,(0永远不会到期)。