Limits and gotchas: migrate from Memcached to KiviDB
the copy runs, are not copied. For a cache that is usually fine.
- Client flags are not copied; see above.
- Items written after the dump, and items that expire or are evicted while the copy runs, are not copied. For a cache that is usually fine.
-X(--disable-dumping) turns offlru_crawler metadump. Without it there is no way to list the keys; warm the cache instead.- Metadump line endings. Item lines end in
\n, and onlyENDends in\r\n. A reader that waits for\r\nafter each line hangs. - Large items. The copy reads each item whole. Values near Memcached's
1 MB default are fine; with
-Iset much higher, lowerBATCH. - Slab-class LRU. Memcached evicts within a slab class; KiviDB's
allkeys-lruevicts across all keys. What gets evicted under pressure can differ. noreply. Memcached clients can skip replies to save round trips. Redis clients get the same effect from pipelining.- UDP. KiviDB has no UDP protocol; clients that read from Memcached over UDP move to TCP.
flush_allwith a delay has no equivalent;FLUSHDBandFLUSHALLrun at once.