python 链接codis 报错解决办法 command 'EXEC' is not allowed,pythoncodis,[[email pr


[[email protected]ceph]#python../pkg/redisbase.pyTraceback(mostrecentcalllast):File"../pkg/redisbase.py",line85,inredis_hgetvalues=self.pipe.execute()File"/usr/lib/python2.7/site-packages/redis/client.py",line2578,inexecutereturnexecute(conn,stack,raise_on_error)File"/usr/lib/python2.7/site-packages/redis/client.py",line2470,in_execute_transactionresponse=self.parse_response(connection,‘_‘)File"/usr/lib/python2.7/site-packages/redis/client.py",line2536,inparse_responseself,connection,command_name,**options)File"/usr/lib/python2.7/site-packages/redis/client.py",line577,inparse_responseresponse=connection.read_response()File"/usr/lib/python2.7/site-packages/redis/connection.py",line574,inread_responseraiseresponseResponseError:handlerequest,command‘EXEC‘isnotallowedm6[[email protected]ceph]#python../pkg/redisbase.pyTraceback(mostrecentcalllast):File"../pkg/redisbase.py",line85,inredis_hgetvalues=self.pipe.execute()File"/usr/lib/python2.7/site-packages/redis/client.py",line2578,inexecutereturnexecute(conn,stack,raise_on_error)File"/usr/lib/python2.7/site-packages/redis/client.py",line2470,in_execute_transactionresponse=self.parse_response(connection,‘_‘)File"/usr/lib/python2.7/site-packages/redis/client.py",line2536,inparse_responseself,connection,command_name,**options)File"/usr/lib/python2.7/site-packages/redis/client.py",line577,inparse_responseresponse=connection.read_response()File"/usr/lib/python2.7/site-packages/redis/connection.py",line574,inread_responseraiseresponseResponseError:handlerequest,command‘EXEC‘isnotallowed


解决办法:

self.pipe=self.conn.pipeline(transaction=False)


整行代码上贴

#!/usr/bin/envpython#-*-coding:UTF-8-*-"""@Item:cheetahv1.0@Author:william@Group:XXXXXX@Date:2017-03-15@E-mail:@Funtion:redis_set:Redisintheformofpipeinsertdata,jsonhashasastringprintredis_get:Redisinprintion,andjsonstringintotheoriginalprint"""importsys,os,time,redis,traceback,jsonsys.path.append("/data/cheetah/")reload(sys)sys.setdefaultencoding("utf8")frompkgimportlogfrompkgimportconfigLOG=log.get_logger(__name__)cfg=configRedisCONF=cfg.load_cfg()["redis"]classRedisBase(object):‘‘‘Establishredissessionconnectionpool‘‘‘def__init__(self):self.host=RedisCONF[‘host‘]self.port=RedisCONF[‘port‘]self.db=RedisCONF[‘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(transaction=False)except:LOG.error(traceback.print_exc())returntraceback.print_exc()defredis_set(self,keys=None,values=None):‘‘‘Insertredisdatabases,keys=key,values=value‘‘‘try:self.pipe.set(keys,json.dumps(values))self.pipe.execute()except:LOG.error(traceback.print_exc())returntraceback.print_exc()#addbywilliam,forhashsetdefredis_hset(self,field,key,values):‘‘‘insertrediskey,field,values‘‘‘try:self.pipe.hset(field,key,json.dumps(values))self.pipe.execute()except:LOG.error(traceback.print_exc())returntraceback.print_exc()#addbywilliam,forhashsetandaddexpiredefredis_set_expire(self,key,values):‘‘‘insertrediskey,field,values‘‘‘try:self.pipe.set(key,json.dumps(values))self.pipe.expire(key,604800)self.pipe.execute()except:LOG.error(traceback.print_exc())returntraceback.print_exc()#addbywilliam,getfromhashdefredis_hget(self,key,field=None):‘‘‘getbykey,returnthedict‘‘‘try:fields=[]iffield:fields.append(field)else:fields=self.conn.hkeys(key)forfinfields:self.pipe.hget(key,f)values=self.pipe.execute()values=[json.loads(i)foriinvalues]returndict(zip(fields,values))except:printtraceback.format_exc()returnkeydefredis_get(self,argv):‘‘‘GettingsingleKYESvalues,argv:iskeys‘‘‘try:self.pipe.get(argv)returnjson.loads(self.pipe.execute()[0])except:LOG.error(traceback.print_exc())returntraceback.print_exc()defredis_getkeys(self):‘‘‘Gettingallkeys‘‘‘try:self.pipe.keys(‘*‘)returnself.pipe.execute()[0]except:LOG.error(traceback.print_exc())returntraceback.print_exc()defredis_delete(self,keys):try:self.pipe.delete(keys)self.pipe.execute()return‘DeleteTrue‘except:LOG.error(traceback.print_exc())return‘DeleteFalse‘if__name__=="__main__":sc=RedisBase()bs=sc.redis_hget(‘m6‘)forx,yinbs.items():fora,biny.items():ifa==‘ceph_df‘:printb


本文出自 “欢迎评论,欢迎点赞” 博客,请务必保留此出处http://swq499809608.blog.51cto.com/797714/1934394

python 链接codis 报错解决办法 command 'EXEC' is not allowed

评论关闭