1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#!/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  in  fields:
                 self .pipe.hget(key, f)
             values  =  self .pipe.execute()
             values  =  [json.loads(i)  for  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'