Redis集合对象

一. 编码

        集合对象的编码可以是intset或者hashtable。

        intset编码的集合对象使用整数集合作为底层实现,集合对象包含的所有元素都保存在整数集合里面。

127.0.0.1:6379> sadd numbers 1 3 5
(integer) 3
127.0.0.1:6379> object encoding numbers
"intset"

        hashtable编码的集合对象使用字典作为底层实现,字典的每一个键都是一个字符串对象,每一个字符串对象包含了一个集合元素,而字典的值全部被置为NULL。

127.0.0.1:6379> sadd fruits 'cherry' 'apple' 'banana'
(integer) 3
127.0.0.1:6379> object encoding fruits
"hashtable"

 

二. 编码转换

        当一个集合对象同时满足下面两个条件时,使用intset编码:

  • 集合对象保存的所有元素都是整数值
  • 集合对象保存的元素数量不超过512个

        不满足时使用hashtable编码。也就是如果一开始使用的是intset作为集合对象的底层实现,当下面两个条件其中一个不满足时,集合对象会执行编码转化操作,将保存在整数集合中的元素转移到字典中,编码修改成hashtable。

        注意:第二个条件的上限值是可以修改的,具体看配置文件中的set-max-intset-entries选项说明。

三.集合命令实现

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/194092.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

详细学习Pyqt5的10种容器(Containers)

Pyqt5相关文章: 快速掌握Pyqt5的三种主窗口 快速掌握Pyqt5的2种弹簧 快速掌握Pyqt5的5种布局 快速弄懂Pyqt5的5种项目视图(Item View) 快速弄懂Pyqt5的4种项目部件(Item Widget) 快速掌握Pyqt5的6种按钮 快速掌握Pyqt5的10种容器&…

Django rest froamwork-序列化关系

关系字段用于表示模型关系。它们可以应用于 ForeignKey、ManyToManyField 和OneToOneField 关系,也可以应用于反向关系和自定义关系(如GenericForeignKey)。 注意:关系字段是在relations.py中声明的,但按照惯例&#…

使用凌鲨进行内网穿透

为了方便在本地进行开发和调试工作,有时候需要安全地连接内网或Kubernetes集群中的服务。 在net proxy server中可以限制访问用户,也可以设置端口转发的密码。 使用 连接端口转发服务 列出可转发端口 可转发端口是服务端设置的,不会暴露真…

自恋的领导

自恋的领导》??? 在职场中,我曾经遇到过一位自恋狂的领导。他总是自吹自擂,自我标榜,而且对团队合作态度消极,经常拖后腿。他的言行举止充满了负能量,让人感到非常不舒服。例如&…

13 OAuth2.0实战:微服务接收身份信息

上一节介绍了网关层面的统一认证鉴权,将解析过的身份信息加密放入请求头传递给下游微服务; 那么下游微服务如何接收网关传递的身份信息? 很简单,只需要在每个服务的过滤器中从请求头接收,将其解密。 木谷博客系统中是将该过滤器统一放在blog-common-starter中,这样后续…

锁表的原因及解决办法

引言 作为开发人员,我们经常会和数据库打交道。 当我们对数据库进行修改操作的时候,例如添加字段,更新记录等,没有正确评估该表在这一时刻的使用频率,直接进行修改,致使修改操作长时间无法响应&#xff0…

2023年【起重机司机(限桥式起重机)】报名考试及起重机司机(限桥式起重机)考试资料

题库来源:安全生产模拟考试一点通公众号小程序 2023年【起重机司机(限桥式起重机)】报名考试及起重机司机(限桥式起重机)考试资料,包含起重机司机(限桥式起重机)报名考试答案和解析及起重机司机(限桥式起重机)考试资料练习。安全生产模拟考试一点通结合…

正是阶段高等数学复习--函数极限的计算

之前在预备阶段中函数极限的解决方式分三步,第一步观察形式并确定用什么方式来解决,第二步化简,化简方式一共有7种,分别是最重要的三种(等价替换、拆分极限存在的项、计算非零因子)以及次重要的4种&#xf…

vGPU_unlock实现消费级显卡虚拟化

vGPU_unlock实现显卡虚拟化 机器详情换源(清华源)配置引导文件配置内核添加禁止nouveau模块设置内核参数,以便虚拟机使用PCI设备的直通功能更新所有已经有 initramfs 的内核版本的 initramfs 镜像下载所需的软件拉取代码初次验证创建用于vGPU解锁的文件下载vgpu所需的驱动安…

BurpSuite 请求/响应解密插件开发

BurpSuite 请求/响应解密插件开发 本文主要记录如何利用burp官方的新版API即MontoyaApi 写一个请求/响应的解密插件。背景下面是主要的操作步骤:根据上述操作做完之后,生成,然后在burp中加载插件,然后通关抓包看效果,具…

DevEco Studio 调整开发工具中的字体大小与行高

我们打开编辑器 选择 左上角 File 下的 Settings 将左侧菜单栏 编辑 展开 我们在编辑下面 选择 Font 然后 如下图指向的两个位置 我们可以调整它的字体大小和行高 设置好之后 右下角 点击 Apply 应用 然后点击 OK即可 当然 你按着 Ctrl 然后鼠标滚动 也可以像浏览器那样 拉…

维基百科文章爬虫和聚类:高级聚类和可视化

一、说明 维基百科是丰富的信息和知识来源。它可以方便地构建为带有类别和其他文章链接的文章,还形成了相关文档的网络。我的 NLP 项目下载、处理和应用维基百科文章上的机器学习算法。 在我的上一篇文章中,KMeans 聚类应用于一组大约 300 篇维基百科文…

Spring IOC—基于XML配置和管理Bean 万字详解(通俗易懂)

目录 一、前言 二、通过类型来获取Bean 0.总述(重要) : 1.基本介绍 : 2.应用实例 : 三、通过指定构造器为Bean注入属性 1.基本介绍 : 2.应用实例 : 四、通过p命名空间为Bean注入属性 1.基本介绍 : 2.应用实例 : 五、通过ref引用实现Bean的相…

吸烟(抽烟)检测和识别2:Pytorch实现吸烟(抽烟)检测和识别(含吸烟(抽烟)数据集和训练代码)

吸烟(抽烟)检测和识别2:Pytorch实现吸烟(抽烟)检测和识别(含吸烟(抽烟)数据集和训练代码) 目录 吸烟(抽烟)检测和识别2:Pytorch实现吸烟(抽烟)检测和识别(含吸烟(抽烟)数据集和训练代码) 1.吸烟(抽烟)检测和识别 2.吸烟(抽烟)数据集 (1&am…

c++中函数的引用

函数中的引用 引用可以作为函数的形参 不能返回局部变量的引用 #include<iostream> #include<stdlib.h> using namespace std; //形参是引用 void swap(int *x, int *y)//*x *y表示对x y取地址 { int tmp *x; *x *y; *y tmp; } void test01() { …

用两个栈实现队列

目录 一、栈的基本结构及其接口 二、我的队列结构定义 三、我的队列创建及其初始化 四、我的队列入队 五、我的队列出队 六、我的队列取队头元素 七、我的队列判空 八、我的队列销毁 一、栈的基本结构及其接口 //栈的结构定义 typedef int STDataType;typedef struct St…

OpenGL ES入门教程(三)之为平面桌子添加混合色

OpenGL ES入门教程&#xff08;三&#xff09;之为平面桌子添加渐变色 前言零、OpenGL ES实现混合色的原理一、修改绘制的桌子结构1. 三角形扇介绍2. 基于三角形扇结构绘制平面桌子 二、为每个顶点添加颜色属性三、修改着色器1. 顶点着色器2. 片段这色器 四、绘制具有混合颜色的…

7.24 SpringBoot项目实战【审核评论】

文章目录 前言一、编写控制器二、编写服务层三、Postman测试前言 我们在 上文 7.23 已经实现了 评论 功能,本文我们继续SpringBoot项目实战 审核评论 功能。逻辑如下: 一是判断管理员权限,关于角色权限校验 在 7.5 和 7.6 分别基于 拦截器Interceptor 和 切面AOP 都实现过…

Qt OpenCV 学习(二):两个简单图片识别案例

1. 寻找匹配物体 1.1 mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <opencv2/opencv.hpp>#include <QImage> #include <QString> #include <QPixmap>QT_BEGIN_NAMESPACE namespace Ui { class Main…