redis基本数据结构-集合set
redis基本数据结构-集合set
- 特性
- 一个集合键最多存储 2^32 - 1 个字符串值
- 元素在集合内无序(哈希表-链地址法解决冲突)
- 元素在集合内唯一
- 向集合添加元素
sadd key value1 value2 ...
sadd letters a b c d
返回4(实际添加的元素个数), letters = {a, b, c, d},无序,只为指示集合中的值
- 从集合删除元素(只删除且只返回实际删除了的个数,而不返回删除的元素值)
srem key value1 value2 ...
srem a c
返回2(实际删除的元素个数), letters = {b, d}
- 获取集合中的所有元素
smembers key
smembers letters
letters = {b, d}
- 判断元素是否在集合中
sismember key value
sismember letters b
返回1
sismember letters a
返回0
- 相减运算
sdiff key1 key2 ...
说明: sdiff key1 key2 === {x | x∈key1 and x∉key2}
sadd letters a c
sadd letters2 a b c
sdiff letters letters2
letters = {a, b, c, d}
letters = {a, b , c}
返回{d}
- 相交运算
sinter key1 key2 ...
sinter letters letters2
返回 {a, b, c}
- 并集运算
sunion key1 key2 ...
sunion letters letters2
返回 {a, b, c, d}
- 获取集合中的元素总数
scard key
scard letters
返回 4, letters = {a, b, c, d}
随机获取集合中的(指定个数)元素
srandmember key [count]
当 不指定count,返回1个
当 count > 0,返回count不重复的,如果count > scard key ,则返回全部
当 count < 0,返回abs(count)个可能会重复的,如果abs(count) > scard key,则返回可能重复的abs(count)个
letters = {a, b, c, d}
srandmember letters
返回 b,随机的,不一定是b
srandmember lettters -3
返回{a, b, a},随机的,不一定是这3个
- 进行集合运算并将计算结果存储在一个key中
key1 key2 ... 等键做diff运算后存储在key中
sdiffstory key key1 key2 ...
- key1 key2 ... 等键做交集运算后存储在key中
sinter key key1 key2 ...
- key1 key2 ... 等键做并集运算后存储在key中
sunion key key1 key2 ...
- 从集合中弹出某个元素(随机删除并返回元素值,区别于srem)
spop key
spop letters
返回 a,随机的,不一定是a
redis基本数据结构-集合set的更多相关文章
- Redis基本数据结构总结之STRING和LIST
Redis基本数据结构总结前言 Redis的特点在于其读写速度特别快,因为是存储在内存中的,其非常适合于处理大数据量的情况:还有一个是其不同于其他的关系型数据库,Redis是非关系型数据库,也就是我们 ...
- Redis基本数据结构总结之SET、ZSET和HASH
Redis基本数据结构总结 前言 Redis的特点在于其读写速度特别快,因为是存储在内存中的,其非常适合于处理大数据量的情况:还有一个是其不同于其他的关系型数据库,Redis是非关系型数据库,也就是我 ...
- 聊一聊Redis的数据结构
如果没有记错的话,应该是在两个月前把 我们经常看到此类的文章: Redis的五种数据结构 Redis的数据结构以及对应的使用场景 其实以数据结构这个词去说明Redis的String.Hash.List ...
- Redis学习——数据结构介绍(四)
一.简介 作为一款key-value 的NoSQL数据库,Redis支持的数据结构比较丰富,有:String(字符串) .List(列表) .Set(集合) .Hash(哈希) .Zset(有序集合) ...
- Redis常用数据结构
Redis常用数据结构包括字符串(strings),列表(lists),哈希(hashes),集合(sets),有序集合(sorted sets). redis的key最大不能超过512M,可通过re ...
- Redis的数据结构、通用操作及其特性
Redis的数据结构 五种数据类型: 字符串(String).字符串列表(list).字符串集合(set).有序字符串集合(sorted set).哈希(hash) key定义的注意点: 不要过长,不 ...
- Redis学习笔记之Redis基本数据结构
Redis基础数据结构 Redis有5种基本数据结构:String(字符串).list(列表).set(集合).hash(哈希).zset(有序集合) 字符串string 字符串类型是Redis的va ...
- 你真的懂redis的数据结构了吗?redis内部数据结构和外部数据结构揭秘
Redis有哪些数据结构? 字符串String.字典Hash.列表List.集合Set.有序集合SortedSet. 很多人面试时都遇到过这种场景吧? 其实除了上面的几种常见数据结构,还需要加上数据结 ...
- Redis的数据结构
Redis的数据结构 redis是一种高级的key-value的存储系统,其中value支持五种数据类型. 字符串(String) 哈希(hash) 字符串列表(list) 字符串集合(set) 有序 ...
- 细说Redis(一)之 Redis的数据结构与应用场景
这一篇文章主要介绍Redis的数据结构与应用场景 NOSQL之Redis Redis是一款由key-value存储的软件.说起NOSQL,有文档型.键值型.列型存储.图形数据库.其中,在简单的读写性能 ...
随机推荐
- 聊聊MySQL是如何处理排序的
本文分享自华为云社区<MySQL怎样处理排序️如何优化需要排序的查询?>,作者:菜菜的后端私房菜. 前言 在MySQL的查询中常常会用到 order by 和 group by 这两个关键 ...
- 一次nginx文件打开数的问题排查处理
现象:nginx域名配置合并之后,发现consul-template无法完成nginx重载,然后发现需要重启nginx,才能让配置生效. 注意:下次哪个服务有报错,就看重启时所有日志输出,各种情况日志 ...
- WPF自定义控件,如何使得xaml涉及器中的修改能立即反应到预览
这是我无意中发现的,xaml中设置的是依赖属性而不是包装器,所以我们可以直接在注册依赖属性那里设置回调,触发某个控件重绘,比如本身或父控件重绘. xaml设计器就会实时更新 1 // !!!由于xam ...
- video2blog 视频转图文AI小工具正式开源啦
前言 最近对一些小细节做了很多处理,但是其实还是有非常多的问题,没办法时间毕竟时间有限.为什么在这个时候开源,因为主要功能可以全部跑通了,分支暂时没开发的功能也可以通过其他的工具来替代. 这个工具开发 ...
- 查看浏览器对html5的支持情况
http://html5test.com/ 视频和音频代码检测 function CheckAudio(){ var myAudio=document.createElement("au ...
- 纯css+html做emoji动态表情
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8& ...
- 01-布局扩展-用calc来计算实现双飞翼布局
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...
- INFINI Easysearch 与华为鲲鹏完成产品兼容互认证
何为华为鲲鹏认证 华为鲲鹏认证是华为云围绕鲲鹏云服务(含公有云.私有云.混合云.桌面云)推出的一项合作伙伴计划,旨在为构建持续发展.合作共赢的鲲鹏生态圈,通过整合华为的技术.品牌资源,与合作伙伴共享商 ...
- Grafana 开源了一款 eBPF 采集器 Beyla
eBPF 的发展如火如荼,在可观测性领域大放异彩,Grafana 近期也发布了一款 eBPF 采集器,可以采集服务的 RED 指标,本文做一个尝鲜介绍,让读者有个大概了解. eBPF 基础介绍可以参考 ...
- java8 API 函数式接口
简介 14年,Oracle公司如期发布了Java 8正式版,Java8提供了强大的流式处理及函数式接口编程 函数式接口编程,相信很多人在javascript中都使用过,比如回调函数,如今Java8也吸 ...