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的资料请关注毛票票其它相关文章!