python redis连接 有序集合去重的代码
pythonredis连接有序集合去重的代码如下所述:
#-*-coding:utf-8-*-
importredis
fromconstantimportredis_ip,redis_db,redis_pw,redis_zset_name
pool=redis.ConnectionPool(host=redis_ip,db=redis_db,password=redis_pw)
#pool=redis.ConnectionPool(db=6,password=redis_pw)
rr=redis.Redis(connection_pool=pool)##客户端StrictRedis=Redis合并了
pipe=rr.pipeline(transaction=True)#批量操作,遇到异步容易出错,可以不使用,直接用rr连接对象,一次一个添加
defdistinct_md5(date,eml_md5,eml_path,redis_fail_path):
"""
用md5标记去重,Redis有序集合去重,Redis版本不一样,用法有区别
:paramdate:排序分数:int
:parameml_md5:文件或者其他md5
:return:1添加成功,没有去重0失败,去重
"""
#pipe.zadd(redis_zset_name,eml_md5,date)
#pipe.zadd(redis_zset_name,{date:eml_md5},nx=True)#nx只插入,存在的值不会修改其分数
#pipe.zadd(redis_zset_name,{date:eml_md5})
pipe.zadd(redis_zset_name,{eml_md5:date})
returnpipe.execute()[0]#1添加,0没添加
#pipe.zcard('eml_md5_zset')#查看总个数
defdel_redis_md5(n,m):#按照分数值进行删除,n,m为分数,前后闭区间
pipe.zremrangebyscore(redis_zset_name,n,m)
pipe.execute()
总结
以上所述是小编给大家介绍的pythonredis连接有序集合去重的代码,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!