コード例 #1
0
class Clear(object):
    def __init__(self, id):
        self.check_param()

        self.mapId_list = []
        self.setId_list = []

        for param in FLUSH_MAP_ID:
            self.mapId_list.append(param + id)

        for param in FLUSH_SET_ID:
            self.setId_list.append(param + id)

        self.ssdb = SSDB(host=SOURCE_IP, port=SOURCE_PORT)

    def check_param(self):
        if CHARACTER_SET == "" or SOURCE_IP == "" or SOURCE_PORT == "":
            print("Check Clear Parameters!")
            sys.exit()

        for param in FLUSH_MAP_ID:
            if param == "":
                print("Check Clear Parameters!")

        for param in FLUSH_SET_ID:
            if param == "":
                print("Check Clear Parameters!")

    def show_config(self):
        print("")
        print("SOURCE_IP = %s" % SOURCE_IP)
        print("SOURCE_PORT = %s" % SOURCE_PORT)
        print("")

        index = 1
        for param in self.mapId_list:
            print("mapId%s = %s,Size = %s" %
                  (index, param, self.ssdb.hsize(param)))
            index = index + 1
        print("")

        index = 1
        for param in self.setId_list:
            print("setId%s = %s,Size = %s" %
                  (index, param, self.ssdb.zsize(param)))
            index = index + 1
        print("")

    def clear_data(self):

        for param in self.mapId_list:
            self.ssdb.hclear(param)
            print("Clear %s Success!" % (param))

        for param in self.setId_list:
            self.ssdb.zclear(param)
            print("Clear %s Success!" % (param))

        print("Clear SSDB Success!")
コード例 #2
0
class SSDBZset(object, SSDBBase):
    def __init__(self,
                 zset_name,
                 host="127.0.0.1",
                 port=8888,
                 max_connections=10,
                 timeout=60):
        self.zset_name = zset_name
        self.host = host
        self.port = port
        self.max_connections = max_connections
        self.timeout = timeout
        pool = BlockingConnectionPool(connection_class=Connection,
                                      max_connections=max_connections,
                                      timeout=timeout,
                                      host=host,
                                      port=port)
        self.ssdb = SSDB(connection_pool=pool)
        SSDBBase.__init__(self, self.ssdb)

    def set(self, key, value, score):
        return self.ssdb.zset(self.zset_name, key, score)

    def get(self, key):
        return self.ssdb.zget(self.zset_name, key)

    def delete(self, key):
        return self.ssdb.zdel(self.zset_name, key)

    def keys(self, key_start="", score_start="", score_end="", limit=10):
        return self.ssdb.zkeys(self.zset_name, key_start, score_start,
                               score_end, limit)

    def exists(self, key):
        return self.ssdb.zexists(self.zset_name, key)

    def size(self):
        return self.ssdb.zsize(self.zset_name)

    def list(self, name_start="", name_end="", limit=10):
        #列出名字处于区间 (name_start, name_end] 的 hashmap
        return self.ssdb.zlist(name_start, name_end, limit)

    def clear(self):
        return self.ssdb.zclear(self.zset_name)