python redis连接 有序集合去重的代码

yipeiwu_com6年前Python基础

python redis连接 有序集合去重的代码如下所述:

# -*- coding: utf-8 -*- 
import redis
from constant import redis_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 连接对象,一次一个添加
def distinct_md5(date, eml_md5, eml_path, redis_fail_path):
  """
  用md5标记去重, Redis有序集合去重, Redis版本不一样, 用法有区别 
  :param date: 排序分数: int
  :param eml_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})
  return pipe.execute()[0] # 1 添加, 0 没添加
   # pipe.zcard('eml_md5_zset') # 查看总个数
def del_redis_md5(n, m): # 按照分数值进行删除, n, m 为分数, 前后闭区间
  pipe.zremrangebyscore(redis_zset_name, n, m)
  pipe.execute()

总结

以上所述是小编给大家介绍的python redis连接 有序集合去重的代码,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

相关文章

Python中subprocess的简单使用示例

在c语言中,一个进程可以fork出一个子进程,并让这个子进程exec一个新的命令。在python中,我们通过标准库的subprocess包来fork一个子进程,并在子进程中运行一个新的程...

Django 通过JS实现ajax过程详解

ajax的优缺点 AJAX使用Javascript技术向服务器发送异步请求 AJAX无须刷新整个页面 因为服务器响应内容不再是整个页面,而是页面中的局部,所以AJAX性能高 小练习:计算...

Python画图实现同一结点多个柱状图的示例

Python画图实现同一结点多个柱状图的示例

如下所示: import numpy as np x = [1,2] #横坐标 y = [3,4] #第一个纵坐标 y1 = [5,6] #第二个纵坐标 x = np.aran...

总结Python编程中函数的使用要点

为何使用函数 最大化代码的重用和最小化代码冗余 流程的分解 编写函数 >>def语句 在Python中创建一个函数是通过def关键字进行的,def语句将创建一个函...

详解用python自制微信机器人,定时发送天气预报

详解用python自制微信机器人,定时发送天气预报

0 引言 前段时间找到了一个免费的天气预报API,费了好段时间把这个API解析并组装成自己想用的格式了,就想着如何实现每天发送天气信息给自己。最近无意中发现了wxpy库,用它来做再合适不...