新建redis.py
代码内容如下:
#-*- coding:utf-8 -*-
import redis
import sys_pyutil
import etc.config
class RedisUtil():
pool = None
def __init__(self):
self.redisConn = None
"""
获取数据库的连接
"""
def get_conn_pool(self):
if RedisUtil.pool == None:
RedisUtil.pool = redis.ConnectionPool(host=etc.config.redis_host, port=etc.config.redis_port,password=etc.config.redis_password, socket_connect_timeout=1)
redisConn = redis.Redis(connection_pool=RedisUtil.pool)
return redisConn
# ---------------集合操作 start---------------------------------------------------
'''
# 将一个或多个成员元素加入到集合中,已经存在于集合的成员元素将被忽略。
# 假如集合 key 不存在,则创建一个只包含添加的元素作成员的集合。
# 当集合 key 不是集合类型时,返回一个错误。
'''
def sadd(self, name, *values): #向集合添加一个或多个成员
redisConn = self.get_conn_pool()
return redisConn.sadd(name, *values)
def smembers(self, name): #返回集合中的所有成员
redisConn = self.get_conn_pool()
return redisConn.smembers(name)
def srem(self, name, *values): #移除集合中一个或多个成员
redisConn = self.get_conn_pool()
return redisConn.srem(name, *values)
# ---------------集合操作 end---------------------------------------------------
# ---------------有序集合 start-------------------------------------------------
'''
# Zadd 命令用于将一个或多个成员元素及其分数值加入到有序集当中。
# 如果某个成员已经是有序集的成员,那么更新这个成员的分数值,并通过重新插入这个成员元素,来保证该成员在正确的位置上。
# 分数值可以是整数值或双精度浮点数。
# 如果有序集合 key 不存在,则创建一个空的有序集并执行 ZADD 操作。
'''
def zadd(self, name, mapping):
redisConn = self.get_conn_pool()
return redisConn.zadd(name, mapping)
# return redisConn.zadd(name, {"proxy": 90})
# 返回有序集中指定分数区间内的所有的成员。有序集成员按分数值递减(从大到小)的次序排列。
def zrevrangebyscore(self, name, max, min, start=None, num=None):
redisConn = self.get_conn_pool()
return redisConn.zrevrangebyscore(name, max, min, start, num)
# 计算有序集合中指定字典区间内成员数量
def zlexcount(self, name, min, max):
print("--min -",min)
print("--max -",max)
redisConn = self.get_conn_pool()
return redisConn.zlexcount(name, min, max)
# 计算集合中元素的数量。
def zcount(self, name, min, max):
redisConn = self.get_conn_pool()
return redisConn.zcount(name, min, max)
# 计算有序集合中指定分数区间的成员数量。
def zcard (self, name):
redisConn = self.get_conn_pool()
return redisConn.zcard(name)
# 移除有序集中的一个或多个成员,不存在的成员将被忽略。
def zrem(self, name, *values):
# print("----zrem name = ", name)
redisConn = self.get_conn_pool()
return redisConn.zrem(name, *values)
# ---------------有序集合 end---------------------------------------------------