zoukankan      html  css  js  c++  java
  • python查询redis数据

    同事整理了,python查询redis集群的代码,我觉得挺好用的,比那个-c 查的准确,所以把它共享出来

    import redis
    #from rediscluster import StrictRedisCluster
    from click._compat import raw_input
    from rediscluster import RedisCluster as StrictRedisCluster
    
    
    def redis_cmd(redis_nodes,isClusterMode=True):
        if isinstance(redis_nodes,list):
            pass
        elif isinstance(redis_nodes,str):
            tmp_nodes = []
            tmp_tuple = redis_nodes.split(",")
            for tt in tmp_tuple:
                tt_node = {"host":tt.split(":")[0],"port":tt.split(":")[1]}
                tmp_nodes.append(tt_node)
            redis_nodes = tmp_nodes
        if isClusterMode:
            rc = StrictRedisCluster(startup_nodes=redis_nodes, decode_responses=True)
        else:
            rc = redis.Redis(host=redis_nodes[0]["host"],port=redis_nodes[0]["port"],decode_responses=True)
    
        while True:
            s = raw_input("input cmd: >>> ")
            if s == "quit" or s == "exit":
                print("query end.")
                break
            cmd = s.split(" ")[0]
            key =  s.split(" ")[1:]
            if cmd.lower() not in ["", "ltrim","ttl", "get", "key", "keys", "set", "lrange", "hget", "smembers", "zrange", "type", "pfcount", "zrange", "hgetall","del", "sismember","sadd","hset","llen","srem","scard","info","cluster info","info Keyspace","hlen","hdel"]:
                print ("wrong type of command, please retry...")
            elif cmd == "ttl":
                print(rc.ttl(*key))
            elif cmd == "ltrim":
                print(rc.ltrim(*key))
            elif cmd == "get":
                print(rc.get(*key))
            elif cmd == "key":
                print(rc.key(*key))
            elif cmd == "keys":
                print(rc.keys(*key))
            elif cmd == "set":
                print(rc.set(*key))
            elif cmd == "lrange":
                print(rc.lrange(*key))
            elif cmd == "hget":
                print(rc.hget(*key))
            elif cmd == "smembers":
                print(rc.smembers(*key))
            elif cmd == "srem":
                print(rc.srem(*key))
            elif cmd == "zrange":
                print(rc.zrange(*key))
            elif cmd == "type":
                print(rc.type(*key))
            elif cmd == "pfcount":
                print(rc.pfcount(*key))
            elif cmd == "zrange":
                print(rc.zrange(*key))
            elif cmd == "hgetall":
                print(rc.hgetall(*key))
            elif cmd == "del":
                print(rc.delete(*key))
            elif cmd == "sismember":
                print(rc.sismember(*key))
            elif cmd == "sadd":
                print(rc.sadd(*key))
            elif cmd == "scard":
                print(rc.scard(*key))
            elif cmd == "hset":
                print(rc.hset(*key))
            elif cmd == "llen":
                print(rc.llen(*key))
            elif cmd == "hlen":
                print(rc.hlen(*key))
    
            elif cmd == "hdel":
                print(rc.hdel(*key))
            elif cmd == "info":
                print(rc.info(*key))
            elif cmd == "cluster info":
                print(rc.info("cluster"))
            elif cmd == "info Keyspace":
                print(rc.info("Keyspace"))
    
    
    def usage():
        pass
    if __name__=="__main__":
        redis_nodes = "172.17.9.106:16388,172.17.9.108:16388"
    
        isRedisCluster = False
    

      运行效果

  • 相关阅读:
    转:裸接口防护,避免恶意盗刷和爬取
    oracle = : := 和变量绑定 oracle通配符和运算符
    169.254地址无网关信息 ----- 解决方案 启动DHCP服务
    NAS DAS SAN 磁带机 tco
    linux 权限详解
    转载:哈希加密算法 MD5,SHA-1,SHA-2,SHA-256,SHA-512,SHA-3,RIPEMD-160
    MD5,SHA1 都是哈希 摘要算法 MD5+SALT BCRYPT
    iOS开发JSON字符串和字典互转
    iOS开发线程之NSThread
    iOS开发NSMutableArray数组越界处理
  • 原文地址:https://www.cnblogs.com/chongyou/p/14273345.html
Copyright © 2011-2022 走看看