Python Redis set集合
Set操作、Set集合就是不允许重复的列表
(无序集合)
- sadd(name,values)
- # name对应的集合中添加元素
- scard(name)
- # 获取name对应的集合中元素个数
- sdiff(keys, *args)
- 在第一个name对应的集合中且不在其他name对应的集合的元素集合
- sdiffstore(dest, keys, *args)
- # 获取第一个name对应的集合中且不在其他name对应的集合,再将其新加入到dest对应的集合中
- sinter(keys, *args)
- # 获取多一个name对应集合的并集
- sinterstore(dest, keys, *args)
- # 获取多一个name对应集合的并集,再讲其加入到dest对应的集合中
- sismember(name, value)
- # 检查value是否是name对应的集合的成员
- smembers(name)
- # 获取name对应的集合的所有成员
- smove(src, dst, value)
- # 将某个成员从一个集合中移动到另外一个集合
- spop(name)
- # 从集合的右侧(尾部)移除一个成员,并将其返回
- srandmember(name, numbers)
- # 从name对应的集合中随机获取 numbers 个元素
- srem(name, values)
- # 在name对应的集合中删除某些值
- sunion(keys, *args)
- # 获取多一个name对应的集合的并集
- sunionstore(dest,keys, *args)
- # 获取多一个name对应的集合的并集,并将结果保存到dest对应的集合中
- sscan(name, cursor=0, match=None, count=None)
- sscan_iter(name, match=None, count=None)
- # 同字符串的操作,用于增量迭代分批获取元素,避免内存消耗太大
(有序集合)
在集合的基础上,为每元素排序;元素的排序需要根据另外一个值来进行比较,所以,对于有序集合,每一个元素有两个值,即:值和分数,分数专门用来做排序。
- zadd(name, *args, **kwargs)
- # 在name对应的有序集合中添加元素
# 如:
# zadd('zz', 'n1', , 'n2', )
# 或
# zadd('zz', n1=, n2=)- zcard(name)
- # 获取name对应的有序集合元素的数量
- zcount(name, min, max)
- # 获取name对应的有序集合中分数 在 [min,max] 之间的个数
- zincrby(name, value, amount)
- # 自增name对应的有序集合的 name 对应的分数
- r.zrange( name, start, end, desc=False, withscores=False, score_cast_func=float)
- # 按照索引范围获取name对应的有序集合的元素
# 参数:
# name,redis的name
# start,有序集合索引起始位置(非分数)
# end,有序集合索引结束位置(非分数)
# desc,排序规则,默认按照分数从小到大排序
# withscores,是否获取元素的分数,默认只获取元素的值
# score_cast_func,对分数进行数据转换的函数 # 更多:
# 从大到小排序
# zrevrange(name, start, end, withscores=False, score_cast_func=float) # 按照分数范围获取name对应的有序集合的元素
# zrangebyscore(name, min, max, start=None, num=None, withscores=False, score_cast_func=float)
# 从大到小排序
# zrevrangebyscore(name, max, min, start=None, num=None, withscores=False, score_cast_func=float)- zrank(name, value)
- # 获取某个值在 name对应的有序集合中的排行(从 0 开始)
# 更多:
# zrevrank(name, value),从大到小排序- zrem(name, values)
- # 删除name对应的有序集合中值是values的成员
# 如:zrem('zz', ['s1', 's2'])- zremrangebyrank(name, min, max)
- # 根据排行范围删除
- zremrangebyscore(name, min, max)
- # 根据分数范围删除
- zscore(name, value)
- # 获取name对应有序集合中 value 对应的分数
- zinterstore(dest, keys, aggregate=None)
- # 获取两个有序集合的交集,如果遇到相同值不同分数,则按照aggregate进行操作
# aggregate的值为: SUM MIN MAX
- zunionstore(dest, keys, aggregate=None)
- # 获取两个有序集合的并集,如果遇到相同值不同分数,则按照aggregate进行操作
# aggregate的值为: SUM MIN MAX
- zscan(name, cursor=0, match=None, count=None, score_cast_func=float)
- zscan_iter(name, match=None, count=None,score_cast_func=float)
- # 同字符串相似,相较于字符串新增score_cast_func,用来对分数进行操作
Python Redis set集合的更多相关文章
- python redis连接 有序集合去重
# -*- coding: utf-8 -*- import redisfrom constant import redis_ip, redis_db, redis_pw, logger, redis ...
- redis:set集合类型的操作(无序集合)
1. set集合类型的操作(无序集合) 集合具有无序性(没有顺序).确定性(描述是确定的).唯一性(没有重复的元素) 1.1. sadd key member [member ...] 语法:sadd ...
- Python面试题集合带答案
目录 Python基础篇 1:为什么学习Python 2:通过什么途径学习Python 3:谈谈对Python和其他语言的区别 Python的优势: 4:简述解释型和编译型编程语言 5:Python的 ...
- python redis之连接池的原理
python redis之连接池的原理 转载地址 什么是连接池 通常情况下, 当我们需要做redis操作时, 会创建一个连接, 并基于这个连接进行redis操作, 操作完成后, 释放连接, 一般情况下 ...
- python+redis测试环境搭建
针对windows操作系统. redis安装: 微软操作系统下,需下载github下面的开源项目,redis网站地址可以找到,直接解压即可. cmd到指定目录,输入下方命令,启动redis服务. re ...
- Redis 有序集合(sorted set)
Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员. 不同的是每个元素都会关联一个double类型的分数.redis正是通过分数来为集合中的成员进行从小到大的排序. 有序 ...
- redis 有序集合(zset)函数
redis 有序集合(zset)函数 zAdd 命令/方法/函数 Adds the specified member with a given score to the sorted set stor ...
- python爬虫工具集合
python爬虫工具集合 大家一起来整理吧!强烈建议PR.这是初稿,总是有很多问题,而且考虑不全面,希望大家支持! 源文件 主要针对python3 常用库 urllib Urllib是python提供 ...
- redis学习-集合set常用命令
redis学习-集合set常用命令 1.sadd:添加一个元素到集合中(集合中的元素无序的并且唯一) 2.smembers:查看集合中所有的元素(上图事例) 3.srem:删除结合中指定的元素 4 ...
随机推荐
- css特效 - 环形文字
记一次群友问题和回答: 下面这种效果,文字是动态的,不能使用图片的情况下,前端怎么实现? 一.插件实现: arctext.js 教程地址:实现文字平滑弯曲弧形效果的插件-arctext.js 二.原生 ...
- phpstorm webstorm 常用快捷键总结
1.全项目搜索 ctrl + shift + F 这个是window下的快捷键
- 11.12git部分和redis
2018-11-12 09:54:58 这星期把luffycity看完,然后周末回学校 越努力,越幸运!永远不要高估自己! 具体可以参考 戳我啊!! 一些git常用命令: 目前已使用Git的四个命令 ...
- 腾讯地图打开地图选取位置 withMap
https://lbs.qq.com/tool/component-picker.html withMap import React, { Component } from "react&q ...
- java学习之路--面试之多线程基础
Java多线程面试问题1. 进程和线程之间有什么不同?一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用.而线程是在进程中执行的一个任务.Java运行环境是 ...
- 大臣的旅费---树的直径(dfs)
很久以前,T王国空前繁荣.为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市. 为节省经费,T国的大臣们经过思考,制定了一套优秀的修建方案,使得任何一个大城市都能从首都直接或者 ...
- CString 成员函数用法
参考文档:http://www.cnblogs.com/Caiqinghua/archive/2009/02/16/1391190.html CString的构造函数CString( );例:CStr ...
- a链接QQ客服 在小框口中打开 感觉不错
<a href="javascript:;" onClick="javascript:window.open('http://wpa.qq.com/msgrd?v= ...
- Python学习之旅(三十四)
Python基础知识(33):网络编程(Ⅱ) UDP编程 相对TCP,UDP则是面向无连接的协议 使用UDP协议时,不需要建立连接,只需要知道对方的IP地址和端口号,就可以直接发数据包 虽然用UDP传 ...
- maven学习之pom.xml或settings.xml对nexus的配置(转)
(1)在POM中配置Nexus仓库 <project> ... <repositories> <repository ...