本文整理汇总了Python中libmc.Client.prepend_multi方法的典型用法代码示例。如果您正苦于以下问题:Python Client.prepend_multi方法的具体用法?Python Client.prepend_multi怎么用?Python Client.prepend_multi使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类libmc.Client
的用法示例。
在下文中一共展示了Client.prepend_multi方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: CmemcachedRegressionCase
# 需要导入模块: from libmc import Client [as 别名]
# 或者: from libmc.Client import prepend_multi [as 别名]
#.........这里部分代码省略.........
"pointer_size",
"rusage_user",
"rusage_system",
"curr_items",
"total_items",
"bytes",
"curr_connections",
"total_connections",
"connection_structures",
"cmd_get",
"cmd_set",
"get_hits",
"get_misses",
"evictions",
"bytes_read",
"bytes_written",
"limit_maxbytes",
"threads",
}
self.assertTrue(set(st.keys()) >= st_keys)
''' TODO
mc = cmemcached.Client([INVALID_SERVER_ADDR, self.server_addr])
s = mc.stats()
self.assertEqual(len(s), 2)
'''
def test_append_multi(self):
N = 10
K = "test_append_multi_%d"
data = b"after\n"
for i in range(N):
self.assertEqual(self.mc.set(K % i, b"before\n"), True)
keys = [K % i for i in range(N)]
# append
self.assertEqual(self.mc.append_multi(keys, data), True)
self.assertEqual(self.mc.get_multi(keys),
dict(zip(keys, [b"before\n" + data] * N)))
# prepend
self.assertEqual(self.mc.prepend_multi(keys, data), True)
self.assertEqual(self.mc.get_multi(keys),
dict(zip(keys, [data + b"before\n" + data] * N)))
# delete
self.assertEqual(self.mc.delete_multi(keys), True)
self.assertEqual(self.mc.get_multi(keys), {})
def test_append_multi_performance(self):
N = 70000
K = "test_append_multi_%d"
data = b"after\n"
keys = [K % i for i in range(N)]
t = time.time()
self.mc.append_multi(keys, data)
t = time.time() - t
threshold = 5
assert t < threshold, 'should append 7w key in %s secs, ' \
'actual val: %f' % (threshold, t)
def test_get_host(self):
host = self.mc.get_host_by_key("str")
self.assertEqual(host, self.server_addr)
def test_get_list(self):
self.mc.set("a", 'a')
self.mc.delete('b')
v = self.mc.get_list(['a', 'b'])
self.assertEqual(v, ['a', None])
@pytest.mark.skipif(np is None or cmemcached is None,
reason='cmemcached and numpy are not installed')
def test_general_get_set_regression(self):
key = 'anykey'
key_dup = '%s_dup' % key
for val in ('x', np.uint32(1), np.int32(2), 0, int(0), False, True):
self.old_mc.set(key, val)
val2 = self.mc.get(key)
assert val2 == val
self.mc.set(key_dup, val)
val3 = self.old_mc.get(key_dup)
assert val3 == val
@pytest.mark.skipif(cmemcached is None,
reason='cmemcached is not installed')
def test_large_mc_split_regression(self):
key = 'anykey'
key_dup = '%s_dup' % key
for val in ('i' * int(_DOUBAN_CHUNK_SIZE * 1.5), 'small_value'):
self.old_mc.set(key, val)
assert self.mc.get(key) == self.old_mc.get(key) == val
self.mc.set(key, val)
assert self.mc.get(key) == self.old_mc.get(key) == val
raw_val1, flags1 = self.old_mc.get_raw(key)
assert len(raw_val1) <= len(val) # compressed
assert self.old_mc.set_raw(key_dup, raw_val1, 0, flags1)
assert self.old_mc.get_raw(key) == self.old_mc.get_raw(key_dup)
raw_val2, flags2 = self.mc.get_raw(key)
assert len(raw_val2) <= len(val) # compressed
assert self.mc.set_raw(key_dup, raw_val2, 0, flags2)
assert self.mc.get_raw(key) == self.mc.get_raw(key_dup)