Python调用Redis的示例代码
#!/usr/bin/envpython
#-*-coding:utf-8-*-
#*************************************
#@Time:2019/8/12
#@Author:ZhangFan
#@Desc:Library
#@File:MyRedis.py
#@Update:2019/8/23
#*************************************
importredis
classMyRedis(object):
"""
===================================================================
=====================MyRedis========================
===================================================================
"""
def__init__(self):
self.redis_conn=None
self.redis_db=None
defconnect_to_redis(self,redis_host,redis_port=6379,db=0,password=None):
"""
连接到Redis服务器
"""
self.redis_db=db
print('Executing:ConnectToRedis|host={0},port={1},db={2},password={3}'
.format(redis_host,redis_port,self.redis_db,password))
try:
self.redis_conn=redis.StrictRedis(
host=redis_host,port=redis_port,db=self.redis_db,password=password)
exceptExceptionasex:
logger.error(str(ex))
raiseException(str(ex))
defredis_key_should_be_exist(self,name):
"""
验证redis存在指定键
"""
ifnotself.redis_conn.exists(name):
logger.error(("Redisofdb%sdoesn'texistinkey[%s]."%(self.redis_db,name)))
raiseAssertionError
defredis_key_should_not_be_exist(self,name):
"""
验证redis不存在指定键
"""
ifself.redis_conn.exists(name):
logger.error(("Redisofdb%sexistinkey[%s]."%(self.redis_db,name)))
raiseAssertionError
defgetkeys_from_redis_bypattern(self,pattern,field=None):
"""
获取redis所有键值
"""
keys_list=list()
print('Executing:GetallKey|%s'%pattern)
iffieldisNone:
returnself.redis_conn.keys(pattern)
else:
keys=self.redis_conn.keys(pattern)
forkeyinkeys:
ifnotself.redis_conn.hget(key,field)isNone:
keys_list.append(key)
returnkeys_list
#==========================StringType=============================
defget_from_redis(self,name):
"""
获取redis数据
"""
print('Executing:GetKey|%s'%name)
returnself.redis_conn.get(name)
defdel_from_redis(self,name):
"""
删除redis中的任意数据类型
"""
returnself.redis_conn.delete(name)
defset_to_redis(self,name,data,expire_time=0):
"""
设置redis执行key的值
"""
returnself.redis_conn.set(name,data,expire_time)
defappend_to_redis(self,name,value):
"""
添加数据到redis
"""
returnself.redis_conn.append(name,value)
#==========================HashType==========================
defhgetall_from_redis(self,name):
"""
获取redishash所有数据
"""
print('Executing:HgetallKey|%s'%name)
returnself.redis_conn.hgetall(name)
defhget_from_redis(self,name,key):
"""
获取redishash指定key数据
"""
print('Executing:HgetKey|%s'%name)
returnself.redis_conn.hget(name,key)
defhset_to_redis(self,name,key,data):
"""
设置redis指定key的值
"""
print(('Executing:HsetRedis|name={0},key={1},data={2}'
.format(name,key,data)))
returnself.redis_conn.hset(name,key,data)
defhdel_to_redis(self,name,*keys):
"""
删除redis指定key的值
"""
print('Executing:HdelKey|',*keys)
self.redis_conn.hdel(name,*keys)
#=========================ZSetType================================
defget_from_redis_zscore(self,name,values):
"""
获取name对应有序集合中value对应的分数
"""
try:
returnint(self.redis_conn.zscore(name,values))
except:
returnself.redis_conn.zscore(name,values)
defget_from_redis_zrange(self,name,start=0,end=10):
"""
按照索引范围获取name对应的有序集合的元素
"""
returnself.redis_conn.zrange(name,start,end,desc=False,withscores=True,score_cast_func=int)
defdel_from_redis_zrem(self,name,values):
"""
删除name对应的有序集合中值是values的成员
"""
returnself.redis_conn.zrem(name,values)
defadd_from_redis_zadd(self,name,value,score):
"""
在name对应的有序集合中添加一条。若值存在,则修改对应分数。
"""
returnself.redis_conn.zadd(name,{value:score})
defcount_from_redis_zcard(self,name):
"""
获取name对应的有序集合元素的数量
"""
returnself.redis_conn.zcard(name)
if__name__=='__main__':
print('Thisistest.')
mr=MyRedis()
以上就是Python调用Redis的示例代码的详细内容,更多关于Python调用Redis的资料请关注毛票票其它相关文章!