用python从redis的有序集合中一次性删除多个值

摘要:
小心以后不要犯类似的错误。这样,a.zDelByValues可以一次删除多个值。

最近做的一个东西,需要用python从redis的有序集合中一次性删除多个值;

redis的自带方法zrem是支持此功能的
# 移除多个元素
redis> ZREM page_rank baidu.com bing.com
(integer) 2

python redis 的api 中也支持

zrem(self, name, *values)
           Remove member ``values`` from sorted set ``name``
参数 *values 代表 values是一个元组

但是我在用这个方法的时候,一直实现不了删除多个值,代码如下

def zDelByValues(self,key,values):
        relSet = self._getRelSet(key)
        if   'false' == relSet:
            return 'false'
        return self.getRedisW().zrem(relSet,values)

此时参数 values 可以接收 单个数字,字符串,比如 a.zDelByValues(foo,2) , a.zDelByValues(foo,'2') ,a.zDelByValues(foo,(2)) ,都可以成功,其它情况都会抛出错误;

纠结半天,原来是自己传参传错了;

def zDelByValues(self,key,values):
        relSet = self._getRelSet(key)
        if   'false' == relSet:
            return 'false'
        return self.getRedisW().zrem(relSet,*values) 

上面的代码少了一个"*",一开始受php的影响,以为直接传值就行了,而不需要将符号带进去。以后得注意,不要犯类似的错误。

这样,a.zDelByValues(foo,(2,3,4,5,6,7)) 就可以一次性完成删除多个值的功能。

免责声明:文章转载自《用python从redis的有序集合中一次性删除多个值》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇java 邮件发送JAVA中的定时器下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

mayavi安装

Mayavi是python的一个包,提供方便的可视化方案。目前(20150809)Mayavi还没有py3的支持,以下安装环境在python 2.7.10下进行 安装Mayavi: 1. 通过pip install mayavi自动检测并且安装大部分的依赖包:     apptools、traits、traitsui、configobj、pyface、si...

Python之win32模块

如果想在Windows操作系统上使用Python去做一些自动化工作,pywin32模块常常会被用到,它方便了我们调用Windows API。 安装及使用 通过命令pip install pywin32 进行安装。安装完成后,在Lib/site-packages下,能够找到PyWin32.chm文档,通过该文档能查看每一个函数的具体用法。 实例讲解 实例1...

python之tkinter使用-简单对话框

1 # 简单对话框,包括字符、整数和浮点数 2 import tkinter as tk 3 from tkinter import simpledialog 4 5 6 def input_str(): 7 r = simpledialog.askstring('字符录入', '请输入字符', initialvalu...

Python 编码简单说

先说说什么是编码。 编码(encoding)就是把一个字符映射到计算机底层使用的二进制码。编码方案(encoding scheme)规定了字符串是如何编码的。 python编码,其实就是对python字符串的编解码问题,这也是为什么在python中,只有字符串,才有decode和encode方法。在python中,字符串为str类型,其父类为basestr...

thinkphp3.2配置redis缓存和文件缓存

如果把一些常用但又不容易变的数据存缓存,而不是每次查数据库,这样能很大减轻数据库压力 最近由于项目需要,就尝试了一把redis,但是后面又用了tp3.2的文件缓存,直接进入主题: 在config.php中增加如下代码: 'DATA_CACHE_PREFIX' => 'tp',//缓存前缀 'DATA_CACHE_TYPE'=>...

Django2.2安装

Django2.2安装 https://media.djangoproject.com/releases/2.2/Django-2.2.tar.gz 解压 tar -zvxf Django-2.2.tar.gz -C /home/pythonSpace/ 安装 sudo python setup.py install 测试 $ python Pyth...