本文整理汇总了Python中rediscluster.StrictRedisCluster.set方法的典型用法代码示例。如果您正苦于以下问题:Python StrictRedisCluster.set方法的具体用法?Python StrictRedisCluster.set怎么用?Python StrictRedisCluster.set使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类rediscluster.StrictRedisCluster
的用法示例。
在下文中一共展示了StrictRedisCluster.set方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_start_with_max_slots_set
# 需要导入模块: from rediscluster import StrictRedisCluster [as 别名]
# 或者: from rediscluster.StrictRedisCluster import set [as 别名]
def test_start_with_max_slots_set(self):
comm.create([('127.0.0.1', 7100)], max_slots=7000)
rc = StrictRedisCluster(
startup_nodes=[{
'host': '127.0.0.1',
'port': 7100
}],
decode_responses=True)
rc.set('key', 'value')
self.assertEqual('value', rc.get('key'))
rc.delete('key')
comm.shutdown_cluster('127.0.0.1', 7100)
comm.start_cluster_on_multi(
[('127.0.0.1', 7100), ('127.0.0.1', 7101)], max_slots=7000)
rc = StrictRedisCluster(
startup_nodes=[{
'host': '127.0.0.1',
'port': 7100
}],
decode_responses=True)
rc.set('key', 'value')
self.assertEqual('value', rc.get('key'))
rc.delete('key')
comm.quit_cluster('127.0.0.1', 7101)
comm.shutdown_cluster('127.0.0.1', 7100)
示例2: test_cluster_of_one_instance
# 需要导入模块: from rediscluster import StrictRedisCluster [as 别名]
# 或者: from rediscluster.StrictRedisCluster import set [as 别名]
def test_cluster_of_one_instance():
"""
Test a cluster that starts with only one redis server and ends up with
one server.
There is another redis server joining the cluster, hold slot 0, and
eventually quit the cluster. The StrictRedisCluster instance may get confused
when slots mapping and nodes change during the test.
"""
with patch.object(StrictRedisCluster, 'parse_response') as parse_response_mock:
with patch.object(NodeManager, 'initialize', autospec=True) as init_mock:
def side_effect(self, *args, **kwargs):
def ok_call(self, *args, **kwargs):
assert self.port == 7007
return "OK"
parse_response_mock.side_effect = ok_call
raise ClusterDownError('CLUSTERDOWN The cluster is down. Use CLUSTER INFO for more information')
def side_effect_rebuild_slots_cache(self):
# make new node cache that points to 7007 instead of 7006
self.nodes = [{'host': '127.0.0.1', 'server_type': 'master', 'port': 7006, 'name': '127.0.0.1:7006'}]
self.slots = {}
for i in range(0, 16383):
self.slots[i] = [{
'host': '127.0.0.1',
'server_type': 'master',
'port': 7006,
'name': '127.0.0.1:7006',
}]
# Second call should map all to 7007
def map_7007(self):
self.nodes = [{'host': '127.0.0.1', 'server_type': 'master', 'port': 7007, 'name': '127.0.0.1:7007'}]
self.slots = {}
for i in range(0, 16383):
self.slots[i] = [{
'host': '127.0.0.1',
'server_type': 'master',
'port': 7007,
'name': '127.0.0.1:7007',
}]
# First call should map all to 7006
init_mock.side_effect = map_7007
parse_response_mock.side_effect = side_effect
init_mock.side_effect = side_effect_rebuild_slots_cache
rc = StrictRedisCluster(host='127.0.0.1', port=7006)
rc.set("foo", "bar")
示例3: redis_write
# 需要导入模块: from rediscluster import StrictRedisCluster [as 别名]
# 或者: from rediscluster.StrictRedisCluster import set [as 别名]
def redis_write(nodes, dict_data):
"""
将字典写入redis集群,并计算时间
"""
time1 = time.time()
conn_rc = StrictRedisCluster(startup_nodes=nodes, decode_responses=True)
for k in dict_data:
# print k, func_dict[k]
key_name = 'access_log' + '-' + str(k)
conn_rc.set(key_name, dict_data[k])
# print conn_rc.get(key_name)
time2 = time.time()
time3 = time2 - time1
print time3
示例4: test_moved_redirection
# 需要导入模块: from rediscluster import StrictRedisCluster [as 别名]
# 或者: from rediscluster.StrictRedisCluster import set [as 别名]
def test_moved_redirection():
"""
Test that the client handles MOVED response.
At first call it should return a MOVED ResponseError that will point
the client to the next server it should talk to.
Important thing to verify is that it tries to talk to the second node.
"""
r = StrictRedisCluster(host="127.0.0.1", port=7000)
m = Mock(autospec=True)
def ask_redirect_effect(connection, command_name, **options):
def ok_response(connection, command_name, **options):
assert connection.host == "127.0.0.1"
assert connection.port == 7002
return "MOCK_OK"
m.side_effect = ok_response
raise MovedError("12182 127.0.0.1:7002")
m.side_effect = ask_redirect_effect
r.parse_response = m
assert r.set("foo", "bar") == "MOCK_OK"
示例5: redis_cluster
# 需要导入模块: from rediscluster import StrictRedisCluster [as 别名]
# 或者: from rediscluster.StrictRedisCluster import set [as 别名]
def redis_cluster():
redis_nodes = [
{'host':HOSTNAME,'port':7001},
{'host':HOSTNAME,'port':7002},
{'host':HOSTNAME,'port':7003},
{'host':HOSTNAME,'port':7004},
{'host':HOSTNAME,'port':7005},
{'host':HOSTNAME,'port':7006},
]
try:
r = StrictRedisCluster(startup_nodes=redis_nodes)
except Exception as e:
print(e)
else:
r.set('test','test')
示例6: test_api
# 需要导入模块: from rediscluster import StrictRedisCluster [as 别名]
# 或者: from rediscluster.StrictRedisCluster import set [as 别名]
def test_api(self):
comm.start_cluster('127.0.0.1', 7100)
comm.join_cluster('127.0.0.1', 7100, '127.0.0.1', 7101)
comm.replicate('127.0.0.1', 7100, '127.0.0.1', 7102)
time.sleep(1)
rc = StrictRedisCluster(
startup_nodes=[{
'host': '127.0.0.1',
'port': 7100
}],
decode_responses=True)
for i in range(20):
rc.set('key_%s' % i, 'value_%s' % i)
for i in range(20):
self.assertEqual('value_%s' % i, rc.get('key_%s' % i))
nodes = base.list_nodes('127.0.0.1', 7100)
self.assertEqual(3, len(nodes))
self.assertEqual(
list(range(8192)), nodes[('127.0.0.1', 7101)].assigned_slots)
self.assertEqual(
list(range(8192, 16384)), nodes[('127.0.0.1',
7100)].assigned_slots)
comm.quit_cluster('127.0.0.1', 7101)
nodes = base.list_nodes('127.0.0.1', 7100)
self.assertEqual(
list(range(16384)), nodes[('127.0.0.1', 7100)].assigned_slots)
for i in range(20):
self.assertEqual('value_%s' % i, rc.get('key_%s' % i))
for i in range(20):
rc.delete('key_%s' % i)
comm.quit_cluster('127.0.0.1', 7102)
comm.shutdown_cluster('127.0.0.1', 7100)
示例7: test_quit_problems
# 需要导入模块: from rediscluster import StrictRedisCluster [as 别名]
# 或者: from rediscluster.StrictRedisCluster import set [as 别名]
def test_quit_problems(self):
comm.start_cluster('127.0.0.1', 7100)
comm.join_cluster('127.0.0.1', 7100, '127.0.0.1', 7101)
comm.replicate('127.0.0.1', 7100, '127.0.0.1', 7102)
time.sleep(1)
rc = StrictRedisCluster(
startup_nodes=[{
'host': '127.0.0.1',
'port': 7100
}],
decode_responses=True)
for i in range(20):
rc.set('key_%s' % i, 'value_%s' % i)
for i in range(20):
self.assertEqual('value_%s' % i, rc.get('key_%s' % i))
nodes = base.list_nodes('127.0.0.1', 7100)
self.assertEqual(3, len(nodes))
self.assertEqual(
list(range(8192)), nodes[('127.0.0.1', 7101)].assigned_slots)
self.assertEqual(
list(range(8192, 16384)), nodes[('127.0.0.1',
7100)].assigned_slots)
for i in range(20):
rc.delete('key_%s' % i)
six.assertRaisesRegex(self, ValueError,
'^The master still has slaves$',
comm.quit_cluster, '127.0.0.1', 7100)
comm.quit_cluster('127.0.0.1', 7102)
comm.quit_cluster('127.0.0.1', 7101)
six.assertRaisesRegex(self, ValueError, '^This is the last node',
comm.quit_cluster, '127.0.0.1', 7100)
comm.shutdown_cluster('127.0.0.1', 7100)
示例8: test_join_no_load
# 需要导入模块: from rediscluster import StrictRedisCluster [as 别名]
# 或者: from rediscluster.StrictRedisCluster import set [as 别名]
def test_join_no_load(self):
comm.create([('127.0.0.1', 7100)])
rc = StrictRedisCluster(
startup_nodes=[{
'host': '127.0.0.1',
'port': 7100
}],
decode_responses=True)
rc.set('x-{h-893}', 'y')
rc.set('y-{h-893}', 'zzZ')
rc.set('z-{h-893}', 'w')
rc.incr('h-893')
comm.join_no_load('127.0.0.1', 7100, '127.0.0.1', 7101)
nodes = base.list_nodes('127.0.0.1', 7100)
self.assertEqual(2, len(nodes))
n7100 = nodes[('127.0.0.1', 7100)]
n7101 = nodes[('127.0.0.1', 7101)]
self.assertEqual(16384, len(n7100.assigned_slots))
self.assertEqual(0, len(n7101.assigned_slots))
comm.join_no_load('127.0.0.1', 7100, '127.0.0.1', 7102)
comm.migrate_slots('127.0.0.1', 7100, '127.0.0.1', 7101, [0])
nodes = base.list_nodes('127.0.0.1', 7102)
self.assertEqual(3, len(nodes))
n7100 = nodes[('127.0.0.1', 7100)]
n7101 = nodes[('127.0.0.1', 7101)]
n7102 = nodes[('127.0.0.1', 7102)]
self.assertEqual(16383, len(n7100.assigned_slots))
self.assertEqual(1, len(n7101.assigned_slots))
self.assertEqual(0, len(n7102.assigned_slots))
try:
t = n7101.get_conn()
m = t.execute('get', 'h-893')
self.assertEqual('1', m)
m = t.execute('get', 'y-{h-893}')
self.assertEqual('zzZ', m)
comm.quit_cluster('127.0.0.1', 7102)
comm.quit_cluster('127.0.0.1', 7101)
t = n7100.get_conn()
rc.delete('x-{h-893}')
rc.delete('y-{h-893}')
rc.delete('z-{h-893}')
rc.delete('h-893')
comm.shutdown_cluster('127.0.0.1', 7100)
finally:
n7100.close()
n7101.close()
示例9: RedisCluster
# 需要导入模块: from rediscluster import StrictRedisCluster [as 别名]
# 或者: from rediscluster.StrictRedisCluster import set [as 别名]
class RedisCluster(object):
def __init__(self, redis_nodes):
self.cluster = StrictRedisCluster(startup_nodes=redis_nodes)
# 无差别的方法
def set(self, name, value, ex=None, px=None, nx=False, xx=False):
return self.cluster.set(name, value, ex, px, nx, xx)
# 无差别的方法
def get(self, name):
return self.cluster.get(name)
# 扇形发送的命令
def cluster_info(self):
return self.cluster.cluster_info()
# 重写StrictRedis的方法
def mset(self, *args, **kwargs):
return self.cluster.mset(args, kwargs)
# 重写StrictRedis的方法
def mget(self, keys, *args):
return self.cluster.mget(keys, args)
示例10: test_cluster_of_one_instance
# 需要导入模块: from rediscluster import StrictRedisCluster [as 别名]
# 或者: from rediscluster.StrictRedisCluster import set [as 别名]
def test_cluster_of_one_instance():
"""
Test a cluster that starts with only one redis server and ends up with
one server.
There is another redis server joining the cluster, hold slot 0, and
eventually quit the cluster. The StrictRedisCluster instance may get confused
when slots mapping and nodes change during the test.
"""
with patch.object(StrictRedisCluster, "parse_response") as parse_response_mock:
with patch.object(NodeManager, "initialize", autospec=True) as init_mock:
def side_effect(self, *args, **kwargs):
def ok_call(self, *args, **kwargs):
assert self.port == 7007
return "OK"
parse_response_mock.side_effect = ok_call
raise ClusterDownError("CLUSTERDOWN The cluster is down. Use CLUSTER INFO for more information")
def side_effect_rebuild_slots_cache(self):
# make new node cache that points to 7007 instead of 7006
self.nodes = [{"host": "127.0.0.1", "server_type": "master", "port": 7006, "name": "127.0.0.1:7006"}]
self.slots = {}
for i in range(0, 16383):
self.slots[i] = [
{"host": "127.0.0.1", "server_type": "master", "port": 7006, "name": "127.0.0.1:7006"}
]
# Second call should map all to 7007
def map_7007(self):
self.nodes = [
{"host": "127.0.0.1", "server_type": "master", "port": 7007, "name": "127.0.0.1:7007"}
]
self.slots = {}
for i in range(0, 16383):
self.slots[i] = [
{"host": "127.0.0.1", "server_type": "master", "port": 7007, "name": "127.0.0.1:7007"}
]
# First call should map all to 7006
init_mock.side_effect = map_7007
parse_response_mock.side_effect = side_effect
init_mock.side_effect = side_effect_rebuild_slots_cache
rc = StrictRedisCluster(host="127.0.0.1", port=7006)
rc.set("foo", "bar")
#####
# Test that CLUSTERDOWN is handled the same way when used via pipeline
parse_response_mock.side_effect = side_effect
init_mock.side_effect = side_effect_rebuild_slots_cache
rc = StrictRedisCluster(host="127.0.0.1", port=7006)
p = rc.pipeline()
p.set("bar", "foo")
p.execute()
示例11: test_fix
# 需要导入模块: from rediscluster import StrictRedisCluster [as 别名]
# 或者: from rediscluster.StrictRedisCluster import set [as 别名]
def test_fix(self):
def migrate_one_slot(nodes, _):
if nodes[0].port == 7100:
source, target = nodes
else:
target, source = nodes
return [(source, target, 1)]
comm.create([('127.0.0.1', 7100)])
rc = StrictRedisCluster(
startup_nodes=[{
'host': '127.0.0.1',
'port': 7100
}],
decode_responses=True)
comm.join_cluster(
'127.0.0.1',
7100,
'127.0.0.1',
7101,
balance_plan=migrate_one_slot)
rc.set('h-893', 'I am in slot 0')
comm.fix_migrating('127.0.0.1', 7100)
self.assertEqual('I am in slot 0', rc.get('h-893'))
t7100 = Connection('127.0.0.1', 7100)
nodes = base.list_nodes('127.0.0.1', 7100)
self.assertEqual(2, len(nodes))
n7100 = nodes[('127.0.0.1', 7100)]
n7101 = nodes[('127.0.0.1', 7101)]
t7100.execute('cluster', 'setslot', 0, 'importing', n7101.node_id)
comm.fix_migrating('127.0.0.1', 7100)
self.assertEqual('I am in slot 0', rc.get('h-893'))
nodes = base.list_nodes('127.0.0.1', 7100)
self.assertEqual(2, len(nodes))
n7100 = nodes[('127.0.0.1', 7100)]
n7101 = nodes[('127.0.0.1', 7101)]
self.assertEqual(16384, len(n7100.assigned_slots))
self.assertEqual(0, len(n7101.assigned_slots))
t7101 = Connection('127.0.0.1', 7101)
nodes = base.list_nodes('127.0.0.1', 7100)
self.assertEqual(2, len(nodes))
n7100 = nodes[('127.0.0.1', 7100)]
n7101 = nodes[('127.0.0.1', 7101)]
self.assertEqual(16384, len(n7100.assigned_slots))
self.assertEqual(0, len(n7101.assigned_slots))
t7100.execute('cluster', 'setslot', 0, 'migrating', n7101.node_id)
comm.fix_migrating('127.0.0.1', 7100)
self.assertEqual('I am in slot 0', rc.get('h-893'))
comm.quit_cluster('127.0.0.1', 7101)
rc.delete('h-893')
comm.shutdown_cluster('127.0.0.1', 7100)
t7100.close()
t7101.close()
示例12: StrictRedisCluster
# 需要导入模块: from rediscluster import StrictRedisCluster [as 别名]
# 或者: from rediscluster.StrictRedisCluster import set [as 别名]
lines = f.readlines()
startup_nodes = []
for ip in lines:
startup_nodes.append({"host": ip[:-1], "port": "6379"})
rc = StrictRedisCluster(startup_nodes=startup_nodes, decode_responses=True)
print "Starting timer..."
startTotal = start = time.time()
key_pair_values= {}
for i in range(operations):
key_pair_values[string_generator(10)] = string_generator(90)
for key in key_pair_values:
rc.set(key, key_pair_values[key])
print "Insert Time:",time.time() - start,"seconds"
start = time.time()
for key in key_pair_values:
rc.get(key)
print "Lookup Time:",time.time() - start,"seconds"
start = time.time()
for key in key_pair_values:
rc.delete(key)
print "Delete Time:",time.time() - start,"seconds"
print "Overall Time:",time.time() - startTotal,"seconds"
示例13: StrictRedisCluster
# 需要导入模块: from rediscluster import StrictRedisCluster [as 别名]
# 或者: from rediscluster.StrictRedisCluster import set [as 别名]
startup_nodes = [
{'host':'172.17.0.4','port':'6379'},
{'host':'172.17.0.3','port':'6379'},
{'host':'172.17.0.2','port':'6379'}
]
'''
startup_nodes = [{'host':'%s' % arg.split(':')[0],'port':'%s' % arg.split(':')[1]} for arg in args]
cluster = StrictRedisCluster(startup_nodes = startup_nodes,decode_responses = True)
#master = redis.StrictRedis(host='172.17.0.7')
except:
print(sys.exc_info()[0])
sys.exit(1)
print("commencing SET operations in 3s ...")
time.sleep(3)
count = 0
num = int(options.numofkeys) if options.numofkeys else -1
key,value = keygen.generate_kv_pair()
while count != num:
try:
print("[%s] setting %s -> %s [" % (datetime.datetime.now(),key,value)),
cluster.set(key,value)
print("✓]")
count = count + 1
key,value = keygen.generate_kv_pair()
except:
print("x]")
time.sleep(0.1)
示例14: len
# 需要导入模块: from rediscluster import StrictRedisCluster [as 别名]
# 或者: from rediscluster.StrictRedisCluster import set [as 别名]
# for key in info:
# print "%s: %s" % (key, info[key])
# pprint.pprint(dir(rc))
print "-------------------"
# pprint.pprint( rc.keys())
# zset
rc.zadd("zset_", 9000, "zset.cc")
# set
rc.sadd("set_", "set.cc")
# hash
rc.hset("hash", "filed", "123456789")
# string
rc.set("foo", "xiaorui.cc")
# list
rc.lpush("list", "1")
rc.lpush("list", "2")
keysCount = len(rc.keys())
if keysCount < 1024:
for key in rc.keys():
# 查询类型
pprint.pprint("type:" + rc.type(key) + "$key:" + key + "$value:" + getValue(rc, key))
# print rc.get(key)
else:
print "keysCount:" + str(keysCount)
pass
示例15: StrictRedisCluster
# 需要导入模块: from rediscluster import StrictRedisCluster [as 别名]
# 或者: from rediscluster.StrictRedisCluster import set [as 别名]
import sys
from datetime import datetime
from time import sleep
from rediscluster import StrictRedisCluster
import logging
startup_nodes = [
{"host": "192.168.56.21", "port": "6379"},
{"host": "192.168.56.22", "port": "6379"},
{"host": "192.168.56.23", "port": "6379"}]
r = StrictRedisCluster(startup_nodes=startup_nodes, decode_responses=True)
print(r.set('foo', 'bar'))
print(r.get('foo'))
p = r.pubsub()
def my_handler(message):
global LastReceivedMessage
#print "Received (%s,%s)" % (message['channel'], message['data'])
if 'data' in message.keys():
shard = int(message['channel'])
actualMessage = int(message['data'])
print "%s%sReceived %s" % (' '*26, '\t'*shard, actualMessage)
if LastReceivedMessage+1 != actualMessage:
print "Missed %s messages" %(actualMessage-LastReceivedMessage-1)
LastReceivedMessage = actualMessage
#p.psubscribe(**{'my-*': my_handler}) # throws an error
p.subscribe(**{'0': my_handler})
p.subscribe(**{'1': my_handler})
p.subscribe(**{'2': my_handler})
p.subscribe(**{'3': my_handler})