Deletes Are Driving Me Crazy

Skylos skylos at
Wed Jan 11 19:01:17 UTC 2006

I dunno the architecture of your application...

But were I doing this in a straightforward way... in a perlish sort of way...

unless ($mc->add($key,$val2)) {
    $mc->replace($key, $val2);

But, if it was something on the order of

Destroy objectinstanceA
Create objectinstanceB

where the destructor of A deletes, and the creator of B adds, it might
be alot harder to do that.

In that case, I could see a serious problem regarding this behavior.

Then I start to be hacky.

I'll do something like

    $mc->add($key . "-okaytoreplace", 1) unless ($mc->incr($key .

sub new {
    unless ($mc->add($key, $value)) {
        unless ($mc->decr($key . "-okaytoreplace")) {
            $mc->replace($key, $value);
        } else {
            error("add failed no overwrite");

But... maybe that not work for you.  I dunno.

Just a thought,


PS - pardon my perlisms.

More information about the memcached mailing list