本文整理汇总了Python中rediscluster.StrictRedisCluster.get方法的典型用法代码示例。如果您正苦于以下问题:Python StrictRedisCluster.get方法的具体用法?Python StrictRedisCluster.get怎么用?Python StrictRedisCluster.get使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类rediscluster.StrictRedisCluster
的用法示例。
在下文中一共展示了StrictRedisCluster.get方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_start_with_max_slots_set
# 需要导入模块: from rediscluster import StrictRedisCluster [as 别名]
# 或者: from rediscluster.StrictRedisCluster import get [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_access_correct_slave_with_readonly_mode_client
# 需要导入模块: from rediscluster import StrictRedisCluster [as 别名]
# 或者: from rediscluster.StrictRedisCluster import get [as 别名]
def test_access_correct_slave_with_readonly_mode_client(sr):
"""
Test that the client can get value normally with readonly mode
when we connect to correct slave.
"""
# we assume this key is set on 127.0.0.1:7000(7003)
sr.set('foo16706', 'foo')
import time
time.sleep(1)
with patch.object(ClusterReadOnlyConnectionPool, 'get_node_by_slot') as return_slave_mock:
return_slave_mock.return_value = {
'name': '127.0.0.1:7003',
'host': '127.0.0.1',
'port': 7003,
'server_type': 'slave',
}
master_value = {'host': '127.0.0.1', 'name': '127.0.0.1:7000', 'port': 7000, 'server_type': 'master'}
with patch.object(
ClusterConnectionPool,
'get_master_node_by_slot',
return_value=master_value) as return_master_mock:
readonly_client = StrictRedisCluster(host="127.0.0.1", port=7000, readonly_mode=True)
assert b('foo') == readonly_client.get('foo16706')
assert return_master_mock.call_count == 0
readonly_client = StrictRedisCluster.from_url(url="redis://127.0.0.1:7000/0", readonly_mode=True)
assert b('foo') == readonly_client.get('foo16706')
assert return_master_mock.call_count == 0
示例3: test_access_correct_slave_with_readonly_mode_client
# 需要导入模块: from rediscluster import StrictRedisCluster [as 别名]
# 或者: from rediscluster.StrictRedisCluster import get [as 别名]
def test_access_correct_slave_with_readonly_mode_client(sr):
"""
Test that the client can get value normally with readonly mode
when we connect to correct slave.
"""
# we assume this key is set on 127.0.0.1:7000(7003)
sr.set("foo16706", "foo")
import time
time.sleep(1)
with patch.object(ClusterReadOnlyConnectionPool, "get_node_by_slot") as return_slave_mock:
return_slave_mock.return_value = {
"name": "127.0.0.1:7003",
"host": "127.0.0.1",
"port": 7003,
"server_type": "slave",
}
master_value = {"host": "127.0.0.1", "name": "127.0.0.1:7000", "port": 7000, "server_type": "master"}
with patch.object(
ClusterConnectionPool, "get_master_node_by_slot", return_value=master_value
) as return_master_mock:
readonly_client = StrictRedisCluster(host="127.0.0.1", port=7000, readonly_mode=True)
assert b("foo") == readonly_client.get("foo16706")
assert return_master_mock.call_count == 0
示例4: test_api
# 需要导入模块: from rediscluster import StrictRedisCluster [as 别名]
# 或者: from rediscluster.StrictRedisCluster import get [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)
示例5: test_quit_problems
# 需要导入模块: from rediscluster import StrictRedisCluster [as 别名]
# 或者: from rediscluster.StrictRedisCluster import get [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)
示例6: RedisCluster
# 需要导入模块: from rediscluster import StrictRedisCluster [as 别名]
# 或者: from rediscluster.StrictRedisCluster import get [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)
示例7: StrictRedisCluster
# 需要导入模块: from rediscluster import StrictRedisCluster [as 别名]
# 或者: from rediscluster.StrictRedisCluster import get [as 别名]
from rediscluster.cluster_mgt import RedisClusterMgt
from rediscluster import StrictRedisCluster
startup_nodes = [{"host":"127.0.0.1","port":"7000"}, {"host":"127.0.0.1","port":"7001"}]
rc = StrictRedisCluster(startup_nodes=startup_nodes, decode_responses=True)
rc.set("foo", "bar")
print(rc.get("foo"))
示例8: randint
# 需要导入模块: from rediscluster import StrictRedisCluster [as 别名]
# 或者: from rediscluster.StrictRedisCluster import get [as 别名]
u = randint(0,len(k)-1)
#Insert into redis
start = current_milli_time()
r.delete(name + str(k[u]))
end = current_milli_time()
print(str(end-start)+'ms del ' + str(k[u]))
deletes.append(k[u])
del(sessions[k[u]])
except (ClusterError, ConnectionError):
print('Cluster Timeout')
#Compare redis sessions to
for key in sessions.keys():
a = sessions[key]
result = r.get(name + str(key))
if not result:
print('error missing ' + str(key))
else:
b = int(result)
if a != b:
print('error unequal '+str(a)+','+str(b))
for item in deletes:
result = r.get(name + str(item))
if result:
print('error not deleted ' + str(item))
示例9: StrictRedisCluster
# 需要导入模块: from rediscluster import StrictRedisCluster [as 别名]
# 或者: from rediscluster.StrictRedisCluster import get [as 别名]
pip install redis-py-cluster
redis-py-cluster : https://github.com/Grokzen/redis-py-cluster/tree/1.0.0
"""
startup_nodes = [{"host": "127.0.0.1", "port": "6379"}]
# This line initialize a redis cluster client obj.
# Will raise RedisClusterException on connection failed.
# The 'decode_responses=True' is needed for Python3
rc = StrictRedisCluster(startup_nodes=startup_nodes, decode_responses=True)
# For Redis command per call, please refer:
# https://redis-py.readthedocs.org/en/latest/
maxacc = rc.get('UniqueID:Account')
print('Maximum Account ID is ' + maxacc)
# Demo of pipeline (batch) usage
rcp = rc.pipeline(transaction=False)
rcp.command_stack = []
curacci = 133589
maxacci = int(maxacc)
for acc in range(curacci, maxacci+1):
rcp.command_stack.append((['HGETALL', 'Account:-' + str(acc)], {}))
print('Pipelining ' + str(len(rcp.command_stack)) + ' Redis queries.')
# A list of dict. One dict is a HGETALL result of an account.
result = rcp.execute()
示例10: test_fix
# 需要导入模块: from rediscluster import StrictRedisCluster [as 别名]
# 或者: from rediscluster.StrictRedisCluster import get [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()
示例11: test_api
# 需要导入模块: from rediscluster import StrictRedisCluster [as 别名]
# 或者: from rediscluster.StrictRedisCluster import get [as 别名]
def test_api(self):
comm.create([('127.0.0.1', 7100)])
rc = StrictRedisCluster(
startup_nodes=[{
'host': '127.0.0.1',
'port': 7100
}],
decode_responses=True)
rc.set('key', 'value')
self.assertEqual('value', rc.get('key'))
comm.join_cluster('127.0.0.1', 7100, '127.0.0.1', 7101)
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(2, 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.migrate_slots('127.0.0.1', 7100, '127.0.0.1', 7101, [8192])
nodes = base.list_nodes('127.0.0.1', 7100)
self.assertEqual(2, len(nodes))
self.assertEqual(
list(range(8193)), nodes[('127.0.0.1', 7101)].assigned_slots)
self.assertEqual(
list(range(8193, 16384)), nodes[('127.0.0.1',
7100)].assigned_slots)
comm.migrate_slots('127.0.0.1', 7100, '127.0.0.1', 7101,
[8193, 8194, 8195])
nodes = base.list_nodes('127.0.0.1', 7100)
self.assertEqual(2, len(nodes))
self.assertEqual(
list(range(8196)), nodes[('127.0.0.1', 7101)].assigned_slots)
self.assertEqual(
list(range(8196, 16384)), nodes[('127.0.0.1',
7100)].assigned_slots)
six.assertRaisesRegex(self, ValueError, 'Not all slot held by',
comm.migrate_slots, '127.0.0.1', 7100,
'127.0.0.1', 7101, [8192])
six.assertRaisesRegex(self, ValueError, 'Not all slot held by',
comm.migrate_slots, '127.0.0.1', 7100,
'127.0.0.1', 7101, [8195, 8196])
six.assertRaisesRegex(
self, ValueError, 'Two nodes are not in the same cluster',
comm.migrate_slots, '127.0.0.1', 7100, '127.0.0.1', 7102, [8196])
comm.quit_cluster('127.0.0.1', 7100)
nodes = base.list_nodes('127.0.0.1', 7100)
self.assertEqual(1, len(nodes))
self.assertEqual(0, len(nodes[('127.0.0.1', 7100)].assigned_slots))
nodes = base.list_nodes('127.0.0.1', 7101)
self.assertEqual(1, len(nodes))
self.assertEqual(
list(range(16384)), nodes[('127.0.0.1', 7101)].assigned_slots)
rc = StrictRedisCluster(
startup_nodes=[{
'host': '127.0.0.1',
'port': 7101
}],
decode_responses=True)
for i in range(20):
self.assertEqual('value_%s' % i, rc.get('key_%s' % i))
self.assertEqual('value', rc.get('key'))
six.assertRaisesRegex(self, RedisStatusError, 'still contains keys',
comm.shutdown_cluster, '127.0.0.1', 7101)
rc.delete('key', *['key_%s' % i for i in range(20)])
comm.shutdown_cluster('127.0.0.1', 7101)
six.assertRaisesRegex(
self, RedisClusterException,
'All slots are not covered after query all startup_nodes. .*',
rc.get, 'key')
示例12: StrictRedisCluster
# 需要导入模块: from rediscluster import StrictRedisCluster [as 别名]
# 或者: from rediscluster.StrictRedisCluster import get [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})
示例13: StrictRedisCluster
# 需要导入模块: from rediscluster import StrictRedisCluster [as 别名]
# 或者: from rediscluster.StrictRedisCluster import get [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"