#!/usr/bin/env python #-*-coding:UTF-8-*- """ @Item : redis API @Author : william @Group : DEV Group @Date : 2014-04-04 @Funtion: redis_set : Redis in the form of pipe insert data, json hash as a string print redis_get : Redis inprintion, and json string into the original print """ import sys,os,time,redis,traceback,json from abc import log from abc import config LOG = log.get_logger(__name__) class redising(object): ''' Establish redis session connection pool ''' def __init__ (self,host,port,db): self.host = host self.port = port self.db = db try: pool = redis.ConnectionPool(host = self.host, port = self.port, db = self.db) self.conn = redis.Redis(connection_pool=pool) self.pipe = self.conn.pipeline() except: LOG.error(traceback.format_exc()) return traceback.format_exc() def redis_set(self,keys=None ,values=None): ''' Insert redis databases,keys = key ,values = value''' try: self.pipe.set(keys,json.dumps(values)) self.pipe.execute() except: LOG.error(traceback.format_exc()) return traceback.format_exc() def redis_hset(self, key, field, values): '''insert redis key, field ,values''' try: self.pipe.hset(key, field, json.dumps(values)) self.pipe.execute() except: LOG.error(traceback.format_exc()) return traceback.format_exc() def redis_hget(self, key, field = None): '''get by key, return the dict''' try: fields = [] if field: fields.append(field) else: fields = self.conn.hkeys(key) for f in fields: self.pipe.hget(key, f) values = self.pipe.execute() values = [json.loads(i) for i in values] return dict(zip(fields, values)) except: return key def redis_get(self,argv): ''' Getting single KYES values ,argv : is keys''' try: self.pipe.get(argv) return json.loads( self.pipe.execute()[0]) except: LOG.error(traceback.format_exc()) return traceback.format_exc() def redis_getkeys(self): ''' Getting all keys ''' try: self.pipe.keys('*') return self.pipe.execute()[0] except: LOG.error(traceback.format_exc()) return traceback.format_exc() def redis_delete(self,keys): try: self.pipe.delete(keys) self.pipe.execute() return 'Delete True' except: LOG.error(traceback.format_exc()) return 'Delete False'