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
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'
|
本文转自 swq499809608 51CTO博客,原文链接:http://blog.51cto.com/swq499809608/1315071