rclient = redis.Redis(host="*", port=36379, password='******') rpipeline = rclient.pipeline() pipe_time = time.time() for x in range(10000): rpipeline.lpop('task_list_test01') #rpipeline.lrange('task_list_test01',0,10000) records = rpipeline.execute() print('redis total time:', time.time() - pipe_time) sclient = SSDB('*', port=46379) # sclient = SSDB(host='18.196.*.*',port=46379,) sclient.execute_command('auth xxxxxxx') i = 1 begin_time = time.time() sclient.qpush_front('task_list_sorted', records) print(time.time() - begin_time) exit(0) for record in records: # sclient.zset('task_list_sorted',record,i) sclient.qpush_front('task_list_sorted', record) i += 1 print(time.time() - begin_time) #------------------------------------ #postgresql连接代码 import psycopg2 client = psycopg2.connect(database="investment", user="******", password="******",
class ssdb(storage): def __init__(self, host, port, table_name, **args): self.queue_name = table_name pool = BlockingConnectionPool(host=host, port=port, **args) self.ssdb = SSDB(connection_pool=pool) print 'success init ssdb connection' def save(self, data, **args): """ push data to ssdb queue back :param data: data of dict type :return:(None) """ while True: try: if isinstance(data, dict) or isinstance(data, list): self.ssdb.qpush_back(self.queue_name, json.dumps(data)) else: self.ssdb.qpush_back(self.queue_name, data) break except Exception as e: print e time.sleep(60) def get(self, **args): while True: try: data = self.ssdb.qpop_front(self.queue_name) if data: return data[0] return data except Exception as e: print e time.sleep(60) # 切换队列 def select_queue(self, name): self.queue_name = name def size(self, **args): return self.ssdb.qsize(self.queue_name) def len(self, **args): return self.ssdb.qsize(self.queue_name) def put(self, data, **args): """ push data to ssdb queue back :param data: data of dict type :return:(None) """ while True: try: if isinstance(data, dict) or isinstance(data, list): self.ssdb.qpush_back(self.queue_name, json.dumps(data)) else: self.ssdb.qpush_back(self.queue_name, data) break except Exception as e: print e time.sleep(60) def put_data_back(self, data): return self.ssdb.qpush_back(self.queue_name, data) def put_data_front(self, data): return self.ssdb.qpush_front(self.queue_name, data) def ssdb_put_zset(self, field): #zset zset key score while True: try: return self.ssdb.zset(self.queue_name, field) except Exception as e: print e self.SSDB() def ssdb_zexists(self, field): while True: try: return self.ssdb.zexists(self.queue_name, field) except Exception as e: print e self.SSDB() def ssdb_zdel(self, field): while True: try: return self.ssdb.zdel(self.queue_name, field) except Exception as e: print e self.SSDB()