欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    7.3-键值对数据库-1.pptx

    • 资源ID:76413484       资源大小:555.46KB        全文页数:17页
    • 资源格式: PPTX        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    7.3-键值对数据库-1.pptx

    7.3 键值对数据库1 数据库原理及应用电子科技大学-张凤荔数据库系统原理与开发键值数据库的基本概念键值数据库的数据模型Redis数据库Redis数据类型【本节学习目标】2 数据库原理及应用电子科技大学-张凤荔数据库系统原理与开发一、键值数据库的基本概念KV:Key-Value(键值)存储模型是Nosql中最基本的数据存储模型,KV类似于哈希表,在键和值之间建立映射关系,键值模型极大的简化了关系数据模型,具有高效灵活的特点。键值数据库一致性表现在针对单个键的操作包括“获取”、“设置”、或者“删除”,保证“一致性”,也可以用“最终一致性模型”实现一致性3 数据库原理及应用电子科技大学-张凤荔数据库系统原理与开发键值数据库的类型根据数据的保存方式,可分为临时性、永久性和两者兼有三类。临时性键值存储是在内存中保存数据,可进行非常快速的保存和读取处理,数据可能丢失永久性键值存储是在硬盘上保存数据;两者兼有的键值存储可以同时在内存和硬盘上保存数据,进行非常快的保存和读取处理,并且保存在硬盘上的数据不会消失,即使消失也可以恢复-Redis。4 数据库原理及应用电子科技大学-张凤荔数据库系统原理与开发二、键值数据库的数据模型1 数据结构:键值模型(Key-Value模型),每行记录由主键和值两个部分组成,值可以是各种类型的数据 2 数据操作:Get(key)、Set(key,value)、Delete(key)等3 数据完整性:针对单个键的操作才区别“一致性”。5 数据库原理及应用电子科技大学-张凤荔数据库系统原理与开发三、Redis数据库Redis 是Remote Dictionary Server的缩写,开源的KV数据库。Redis是KV类型的内存数据库Redis通过Key-Value的单值不同类型来区分,支持的数据类型:字符串类型(String)、哈希表类型(Hash)、链表类型(List)、集合类型(Set)、有序集合类型(ordered set,zset)。Redis的缺点是数据库容量受到物理内存的限制。Redis可保存多种数据结构,单个值的最大限制是1GB。用List来做FIFO双向链表可实现轻量级的高性 能消息队列服务,用Set可做高性能的tag系统等,对存入的KV设置expire时间,通过异步的方式将数据写入磁盘,具有快速和数据持久化的特征。6 数据库原理及应用电子科技大学-张凤荔数据库系统原理与开发三、Redis数据库-特点Redis将键值存储在主存中,快速读写。Redis支持主从复制。数据读在slave完成,数据写入在 master 完成。Redis使用RAM作为内存式存储,用虚拟内存来保存数据。Redis支持创建发布和订阅通道Redis将内存中的数据定期保存到文件系统中,用于故障恢复。Redis有丰富的SDK支持。所有 Redis 的操作都是原子7 数据库原理及应用电子科技大学-张凤荔数据库系统原理与开发四、Redis的数据类型Redis的每个数据库中的所有数据都是Key-Value对,底层的都是二进制字节数组的格式存放。客户端取的时候需要自己来转换。Redis 键值是二进制安全的,用任何二进制序列作为key值。空字符串也是有效key值;key取值太长导致查找键值的计算成本高、太短可读性较差。Redis支持Value类型:字符串类型(String)、哈希表类型(Hash)、链表类型(List)、集合类型(Set)、有序集合类型(order set)8 数据库原理及应用电子科技大学-张凤荔数据库系统原理与开发1.字符串-stringredis最基本的类型,string类型是二进制安全的,string可以包含任何数据。String是最常用的一种数据类型,可应用于普通的key/value 存储,具有定时持久化、操作日志及 Replication等功能。字符串操作包括set、get、decr、incr、mget等,获取字符串长度、append、设置和获取字符串的某一段内容、设置及获取字符串的某一位(bit)、批量设置一系列字符串的内容等。9 数据库原理及应用电子科技大学-张凤荔数据库系统原理与开发2.ListList列表即数组是简单的字符串列表,按照插入顺序排序,lpush、rpush、lpop、rpop、lrange等。l和 r表示左和右。用来实现twitter的关注列表、粉丝列表等、最新消息排行等功能。实现为一个双向链表,支持反向查找和遍历,使用时要考虑部分额外的内存开销,发送缓冲队列等也都是用的这个数据结构。10 数据库原理及应用电子科技大学-张凤荔数据库系统原理与开发2.List的特征链表双端:链表节点都有prev和next指针,获取一个节点前置和后置的算法复杂度都为O(1)。无环:list的第一个节点(头节点)的prev和最后一个节点(尾节点)的next都指向NULL。带表头指针和表尾指针:通过list的head和tail两个指针,链表的头和尾进行操作。带链表长度计数器:可以通过len成员来获取链表的节点的个数,复杂度O(1)。多态:链表使用void*指针来保存value,并且可以通过dup,free,match来操控节点的value值,因此,该链表可以保存任意类型的值。11 数据库原理及应用电子科技大学-张凤荔数据库系统原理与开发3.Hash(哈希)表 Hash(哈希)是一个键值对集合,一个 string 类型的 field 和 value 的映射表。常用命令:hget、hset、hgetall等。实例:用户信息包含:ID为key,value包含姓名、年龄、生日、专业等信息,如果用普通的key/value结构来存储:第一种:将用户ID作为查找key,其他信息封装成一个对象以序列化的方式存储。第二种:把用户信息对象中所有成员都存成单个key-value对,用用户ID+对应属性的名称作为唯一标识来标示对应属性值。12 数据库原理及应用电子科技大学-张凤荔数据库系统原理与开发3.Hash(哈希)表 Redis Hash的解决方案,内部存储的Value为一个HashMap,提供直接存取这个Map成员的接口1 Key Hash1 Key Hash 2 person field 2 person field value value 3 ID 3 ID 1008610086 4 4 姓名姓名 Peter Peter 5 5 性别性别 male male 6 6 生日生日 2001-1-29 2001-1-29 7 7 专业专业 computer sciencecomputer science13 数据库原理及应用电子科技大学-张凤荔数据库系统原理与开发4.集合 SetRedis中的集合是string类型一个无序的、去重的集合,元素是字符串类型。对外提供的功能是一个列表,set是自动排重的,用set存储一个列表数据且数据不重复set 的内部实现是一个 value永远为null的HashMap,通过计算hash的方式来快速排重的存储(sadd)、删除(srem)、读取(smembers)、元素是否存在(sismember)、差集运算(sdiff)、交集运算(sinter)、并集运算(sunion)、获取元素数量(scard)、随机获得元素(srandmember)、存储差集(sdiffstore)、交集(sinterstore)和并集(sunionstore)等。14 数据库原理及应用电子科技大学-张凤荔数据库系统原理与开发5.有序集合Sorted set/zset有序集合的操作类似Set集合,有序的、去重的、元素是字符串类型、不允许重复的成员,每一个元素都关联着一个浮点数分值(Score),按照分值从小到大的顺序排列集合中的元素。成员唯一的,但分数(score)可重复。常用命令:zadd、zrange、zrem、zcard等通过用户额外提供一个优先级(score)的参数来为成员排序,并且是插入有序的,即自动排序。内部使用HashMap和跳跃表(SkipList)来保证数据的存储和有序HashMap里放的是成员到score的映射,跳跃表里存放的是所有的成员,排序依据是HashMap里存的score15 数据库原理及应用电子科技大学-张凤荔数据库系统原理与开发Redis 总结键值数据库 KV-键值数据库的数据模型:数据结构、操作、完整性Redis数据库-KV Redis数据类型-字符串类型(String)、哈希表类型(Hash)、链表类型(List)、集合类型(Set)、有序集合类型(order set)-操作函数16 数据库原理及应用电子科技大学-张凤荔数据库系统原理与开发本节学习结束!

    注意事项

    本文(7.3-键值对数据库-1.pptx)为本站会员(可****阿)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开