diff options
author | dormando <dormando@rydia.net> | 2017-06-27 12:17:59 -0700 |
---|---|---|
committer | dormando <dormando@rydia.net> | 2019-09-17 02:37:15 -0700 |
commit | b5ea90160579ba060b8e1d269595b3ec5d77d740 (patch) | |
tree | 96d5dc43912f32b4d48d6a19cf161052e9aaa137 /items.h | |
parent | 554b56687a19300a75ec24184746b5512580c819 (diff) | |
download | memcached-b5ea90160579ba060b8e1d269595b3ec5d77d740.tar.gz |
restartable cache
"-e /path/to/tmpfsmnt/file"
SIGUSR1 for graceful stop
restart requires the same memory limit, slab sizes, and some other
infrequently changed details. Most other options and features can
change between restarts. Binary can be upgraded between restarts.
Restart does some fixup work on start for every item in cache. Can take
over a minute with more than a few hundred million items in cache.
Keep in mind when a cache is down it may be missing invalidations,
updates, and so on.
Diffstat (limited to 'items.h')
-rw-r--r-- | items.h | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -8,6 +8,7 @@ /* See items.c */ uint64_t get_cas_id(void); +void set_cas_id(uint64_t new_cas); /*@null@*/ item *do_item_alloc(char *key, const size_t nkey, const unsigned int flags, const rel_time_t exptime, const int nbytes); @@ -23,6 +24,7 @@ void do_item_remove(item *it); void do_item_update(item *it); /** update LRU time to current and reposition */ void do_item_update_nolock(item *it); int do_item_replace(item *it, item *new_it, const uint32_t hv); +void do_item_link_fixup(item *it); int item_is_flushed(item *it); unsigned int do_get_lru_size(uint32_t id); |