《NOSQL数据库技术》课件_2020-第7章-Redis键值数据库.pptxVIP

《NOSQL数据库技术》课件_2020-第7章-Redis键值数据库.pptx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

目录;2;Redis支持unix、linux、Windows等平台安装

Windows版本下载安装

/MicrosoftArchive/redis/releases;10.5键值类RedisDB简介;7.1.1下载与安装;7.1.1下载与安装;7.1.1下载与安装;8;7.1.2操作命令分类;7.1.2操作命令分类;7.1.2操作命令分类;7.1.2操作命令分类;7.1.2操作命令分类;7.1.2操作命令分类;7.2Redis键值管理操作;目录;KEY是访问不同值的入口,具有唯一性,Redis提供了单独对键操作的命令集。;7.2.1Key操作;7.2.1Key操作;7.2.1Key操作;String是最常用的一种数据结构类型,普通的key/value存储都可以归为此类。值也可以是数值类字符串、图片、视频等序列化对象,Value最多可以容纳的数据长度是512M。;7.2.1Key操作;7.2.1Key操作;7.2.2字符串;List类型是按照插入顺序排序的字符串双向链表。和数据结构中的普通链表一样,可以在其头部(left)和尾部(right)添加新的元素。在插入时,如果该键并不存在,Redis将为该键创建一个新的链表。index从0开始,-1表示最后一个。;7.2.3列表;7.2.3列表;一个向列表结构键userlist左边插入8个元素、从右边弹出一个元素、返回列表元素个数、按索引返回列表元素值、按索引范围返回多个列表元素值的列表操作命令示例

redislpushuserlistu100u101u103u104u105u106u107u108

(integer)8

redisrpopuserlist

u100

redisllenuserlist

(integer)7

redislindexuserlist6

u101

;可以将Set类型看作没有排序的字符串结构类型数据的集合,和List类型最大差别是没有顺序,另外注意Set集合中不允许出现重复的元素,而且Set支持多个Sets之间的差、并、交集操作。;7.2.4集合;7.2.4集合;7.2.4集合;可以将Redis中的Hashes类型看成具有StringKey和StringValue的map容器。所以该类型非常适合于存储值对象的信息。;7.2.5散列;7.2.5散列;7.2.5散列;7.2.5散列;有序集合中也不允许有重复数据,它比Set多了一个score,Redis正是通过score来为集合中的成员进行从小到大的排序。需要注意的是,尽管Sorted-Sets中的成员必须是唯一的,但是分数(score)却是可以重复的。;7.2.6有序集合;7.2.6有序集合;7.2.6有序集合;7.2.6有序集合;7.2.7发布与订阅;7.2.7发布与订阅;7.2.7发布与订阅;目录;7.3Redis集群架构及管理;Redis-Cluster特点(续)

4)Redis-Cluster的自动分片机制:把所有的物理节点映射到[0-16383]slot(槽)上,不一定平均分配,Cluster负责维护node与slot及slot与value之间的映射关系。

5)Redis集群预分好16384个slot,当需要在Redis集群中放置一个key-value时,根据CRC16(key)mod16384的值,将这个key放到对应slot中。

假设三个主节点分别是A、B、C,它们可以是一台机器上的三个端口,也可以是三台不同的服务器。采用哈希槽(Hashslot)的方式来分配16384个slot的话,三个节点分别承担的slot区间如下所示:

节点A覆盖0-5460;

节点B覆盖5461-10922;

节点C覆盖10923-16383。

;当连接三者中的任何一个节点想获取key时,也会同样计算对应的槽,然后内部跳转到对应节点上获取数据。

当集群中新增一个主节点D时,Redis-Cluster会从各个节点的前面各取一部分slot到D上,例如大致就会变成如下这样。当删除一个节点时,也会引起数据的迁移。

节点A覆盖1365-5460;

节点B覆盖6827-10922;

节点C覆盖12288-16383;

节点D覆盖0-1364,5461-6826,10923-12287;

通过slot机制,简化了键值数据管理的复杂度,本质上是一种键的分层管理机制

键—节点键—slot—节点

;涉及多键操作的场景,为了保障高性能

文档评论(0)

kd8w + 关注
实名认证
文档贡献者

kd8w

1亿VIP精品文档

相关文档