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连接有序集合去重的代码,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!