加入收藏 | 设为首页 | 会员中心 | 我要投稿 孝感站长网 (https://www.0712zz.com.cn/)- 运营、云管理、管理运维、云计算、大数据!
当前位置: 首页 > 站长资讯 > 动态 > 正文

进行大规模云迁移的挑战

发布时间:2021-02-04 15:46:14 所属栏目:动态 来源:互联网
导读:读到这里你一定有至少三个疑问: 为什么一种对象类型要对应多种编码类型,是为了解决什问题? redis 怎么知道什么时候该用这种编码类型,什么时候该用那种编码类型呢,并且编码类型可以随时改变么? 各种编码类型的实现原理是什么?(本章不做重点,会贯穿全

读到这里你一定有至少三个疑问:

  •  为什么一种对象类型要对应多种编码类型,是为了解决什问题?
  •  redis 怎么知道什么时候该用这种编码类型,什么时候该用那种编码类型呢,并且编码类型可以随时改变么?
  •  各种编码类型的实现原理是什么?(本章不做重点,会贯穿全文介绍一些基本思想,具体的各种实现会在其他篇章专门讲解)

别急,这一部分只是让你知道,redis 面对使用者暴露的只是一个抽象的数据结构,并不代表其底层的具体实现。接下来带你慢慢深入。

为什么一种对象类型要对应多种编码类型

写 redis 的大牛也是程序员,总不能他给自己增加了代码的复杂性,又对性能提升毫无帮助吧?毕竟 redis 这种中间组件必须以性能来取胜同类产品。没错,就是为了 性能提升。

直观感受编码类型的不同

首先我们来直观感受一下同一对象对应不同编码类型这一场景,这里用到了 object encoding xxx 这个 redis 命令来查看某一个 key 其 value 对象所使用的编码类型
 

其实我们不用寻找任何额外的二手资料来解释编码类型的作用,直接看源码中的英文注释即可。

对象编码(编码类型):有些对象类型如字符串、哈希,其内部实现可以有多种方式,一个 redis 对象的 encoding 字段可以设置下面几个值来表示这个对象的底层编码类型

同一个对象类型,可以有不同的编码类型作为底层实现。而同一种编码类型,也可以支持上层的多种对象类型。他们的关系如下:
 

好多人对 redis 数据结构的理解可能就止步于此了,但其实这只是 redis 对外暴露的抽象结构,其底层实现要看其编码类型来决定使用该编码类型对应的数据结构。

如果一个对象类型只有一种底层数据结构的实现方式,那么这个编码类型就完全多余了,早期的 redis 的确没有这个概念。但后来为了优化性能,一种对象类型可能对应多种不同的编码实现,于是乎关于 redis 底层数据结构的知识点,就开始复杂起来了。编码类型在 redis 源码中也有准确定义:

redis.c
 

2.帮助确定优先级

开源智能的一个最重要的好处是,它可以帮助企业确定时间和任务的优先级。考虑到开源数据能够以一种可访问的方式提供给公众,企业需要保护自己的业务安全,采取安全措施很重要,因为开源智能也有不足之处。

其数据不仅是从Google、Yahoo、Bing或其他让用户访问大量网站和数据的搜索引擎收集的。这些搜索引擎在他们的搜索中不能访问和索引暗网的数据,但是应该知道暗网上的信息是开源的,并且意味着随时可供公众使用。

由于有着大量公开和可用的数据,不可避免地会导致数据被滥用。尽管全球各地的企业可能会使用这些数据来开发智能项目或定制功能,但也有一些组织或个人可能会将其用于不良目的。他们可能试图侵入重要组织的安全系统,窃取重要和机密数据,甚至侵入智能家居安全系统。

而且,由于所有这些都是在开源智能的帮助下实现的,企业可以将劣势转化为优势,可以优先安排自己的时间和任务,这样就能制定并确保良好的保护措施。可以识别安全系统中的威胁并得以解决。开源智能可以向企业展示在其业务中哪些是不安全的因素,并帮助解决这些问题。

3.可以随时随地访问

使用开源智能的最主要好处之一是可以随时随地访问,并且企业可以摒弃收集和分析数据的传统方法。开源智能可以为企业提供用于支持其内部决策的公共数据。

这使它易于使用,能够并入企业内部流程。与此同时,它具有许多企业所追求的灵活性。特别是在大多数人在家远程工作的时候。

(编辑:孝感站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读