def testIncr(self): c = Client(MEMCACHED_ADDRESS) c.connect() c.set("key1", "0") c.incr("key1", 313370) self.assertEquals("313370", c.get("key1")[0])
def testIncr(self): c = Client(MEMCACHED_ADDRESS); c.connect(); c.set("key1", "0") c.incr("key1", 313370) self.assertEquals("313370", c.get("key1")[0])
def testPipeline(self): c1 = Client(MEMCACHED_ADDRESS) c2 = Client(MEMCACHED_ADDRESS) c1.connect() c2.connect() c1.flush_all() # Basic Multi-Set c1.set("foo", "bar") self.assertEquals("bar", c1.get("foo")[0]) c2.begin_pipeline() c2.set("foo", "bim") c2.set("foo2", "baz") self.assertEquals("bar", c1.get("foo")[0]) res = c2.finish_pipeline() self.assertEquals(["STORED", "STORED"], res) self.assertEquals("bim", c1.get("foo")[0]) self.assertEquals("baz", c1.get("foo2")[0]) # Abort c2.begin_pipeline() c2.set("foo", "baz") c2.abort_pipeline() self.assertNotEqual("baz", c1.get("foo")[0]) # Incr/Decr c1.set("counter", "1") self.assertEquals("1", c1.get("counter")[0]) c2.begin_pipeline() c2.incr("counter", 10) c2.decr("counter", 5) self.assertEquals("1", c1.get("counter")[0]) c2.finish_pipeline() self.assertEquals("6", c1.get("counter")[0]) # Add c1.set("added1", "foo") c1.set("added2", "bar") self.assertEquals("foo", c1.get("added1")[0]) self.assertEquals("bar", c1.get("added2")[0]) c2.begin_pipeline() c2.add("added1", "bim") c2.add("added2", "baz") c2.add("added3", "oof") c2.add("added4", "rab") self.assertEquals("foo", c1.get("added1")[0]) self.assertEquals("bar", c1.get("added2")[0]) self.assertEquals(None, c1.get("added3")) self.assertEquals(None, c1.get("added4")) res = c2.finish_pipeline() self.assertEquals(["NOT_STORED", "NOT_STORED", "STORED", "STORED"], res) self.assertEquals("foo", c1.get("added1")[0]) self.assertEquals("bar", c1.get("added2")[0]) self.assertEquals("oof", c1.get("added3")[0]) self.assertEquals("rab", c1.get("added4")[0]) # Replace c1.set("replace1", "foo") c1.set("replace2", "bar") self.assertEquals("foo", c1.get("replace1")[0]) self.assertEquals("bar", c1.get("replace2")[0]) c2.begin_pipeline() c2.replace("replace1", "bim") c2.replace("replace2", "baz") c2.replace("replace3", "oof") c2.replace("replace4", "rab") self.assertEquals("foo", c1.get("replace1")[0]) self.assertEquals("bar", c1.get("replace2")[0]) self.assertEquals(None, c1.get("replace3")) self.assertEquals(None, c1.get("replace4")) res = c2.finish_pipeline() self.assertEquals(["STORED", "STORED", "NOT_STORED", "NOT_STORED"], res) self.assertEquals("bim", c1.get("replace1")[0]) self.assertEquals("baz", c1.get("replace2")[0]) self.assertEquals(None, c1.get("replace3")) self.assertEquals(None, c1.get("replace4")) # Append / Prepend c1.set("append1", "a,") self.assertEquals("a,", c1.get("append1")[0]) c2.begin_pipeline() c2.append("append1", "b,") c2.append("append1", "c,") c2.append("append1", "d,") c2.prepend("append1", "x,") c2.prepend("append1", "y,") c2.prepend("append1", "z,") self.assertEquals("a,", c1.get("append1")[0]) res = c2.finish_pipeline() self.assertEquals(["STORED"] * 6, res) self.assertEquals("z,y,x,a,b,c,d,", c1.get("append1")[0]) # Delete c1.set("delete1", "foo") c1.set("delete2", "bar") self.assertEquals("foo", c1.get("delete1")[0]) self.assertEquals("bar", c1.get("delete2")[0]) self.assertEquals(None, c1.get("delete3")) c2.begin_pipeline() c2.delete("delete1") c2.delete("delete2") c2.delete("delete3") self.assertEquals("foo", c1.get("delete1")[0]) self.assertEquals("bar", c1.get("delete2")[0]) self.assertEquals(None, c1.get("delete3")) res = c2.finish_pipeline() self.assertEquals(["DELETED", "DELETED", "NOT_FOUND"], res) self.assertEquals(None, c1.get("delete1")) self.assertEquals(None, c1.get("delete2")) self.assertEquals(None, c1.get("delete3")) # CAS c1.set("cas1", "foo") c1.set("cas2", "bar") c1.set("cas3", "bim") gots = c1.gets_multi(["cas1", "cas2", "cas3"]) self.assertEquals("foo", gots["cas1"][0]) self.assertEquals("bar", gots["cas2"][0]) self.assertEquals("bim", gots["cas3"][0]) c1.set("cas1", "baz") c2.begin_pipeline() c2.cas("cas1", "betty", gots["cas1"][2]) c2.cas("cas2", "wilma", gots["cas2"][2]) c2.cas("cas3", "fred", gots["cas3"][2]) self.assertEquals("baz", c1.get("cas1")[0]) self.assertEquals("bar", c1.get("cas2")[0]) self.assertEquals("bim", c1.get("cas3")[0]) res = c2.finish_pipeline() self.assertEquals(["EXISTS", "STORED", "STORED"], res) gots = c1.gets_multi(["cas1", "cas2", "cas3"]) self.assertEquals("baz", c1.get("cas1")[0]) self.assertEquals("wilma", c1.get("cas2")[0]) self.assertEquals("fred", c1.get("cas3")[0]) # Flush All c1.set("flush1", "foo") c1.set("flush2", "bar") c2.begin_pipeline() c2.flush_all() self.assertEquals("foo", c1.get("flush1")[0]) self.assertEquals("bar", c1.get("flush2")[0]) c2.finish_pipeline() self.assertEquals(None, c1.get("flush1")) self.assertEquals(None, c1.get("flush2"))