[Redis] redis基础

一、NoSql

  • 什么是NoSql?
    • 泛指非关系型数据库(Not-Only SQL),作为关系类型数据库的补充。NoSql数据库的出现是为了解决大规模数据集合多重数据类带来的挑战,尤其是大数据应用难题,包括超大规模数据的存储。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。
  • NoSql特征:
    • 可扩容,可伸缩
    • 大数据量下高性能
    • 灵活的数据模型
    • 高可用
  • NoSql数据模型及数据库四大分类
    • 聚合模型:KV值、Bson、列族、图形
    • 对应聚合模型的四种形式:KV键值、文档性数据库(Bson格式)、列存储数据库、图关系数据库
  • 分布式数据库中CAP原理

    传统的ACID:原子性(Atomicity)、一致性(Consistency)、独立性(Isolation)、持久性(Durability)

    • CAP:
      • 强一致性(Consistency):任何一个读操作总是能读取到之前完成的写操作结果,也就是在分布式环境中,多点的数据是一致的。
      • 可用性(Availability):每一个操作总是能在确定的时间内返回,也不是系统随时都是可用的。
      • 分区容错性(Partion tolerance):在出现网络分区(如断网)的情况下,分离的系统也能正常运行。
    • CAP的3进2:在分布式存储系统中,最多只能实现CAP的两点。由于当前网络硬件肯定会出现延迟丢包等问题,分区容错性是必须要实现的。
      • CA:传统的Oracle数据库,单集群,满足一致性可用性系统,可扩性不强
      • AP:大多数网站架构的选择
      • CP:redis、Mongodb
  • BASE

    为了解决关系数据库强一致性引起使可用性降低的问题。思想就是通过让系统放松对某一时刻数据的一致性要求,来获取系统整体伸缩性和性能上的改观。

    • 基本可用(Basically Available)
    • 软状态(Soft-state)
    • 最终一致(Eventually consistent)
  • NoSql在基本信息存储中的位置(以一个电商场景为例)

redis位置

二、redis

REmote DIctionary Server(远程字典服务器),键值对(key-value)数据库

  • 特征
    • 1、数据间没有必然的关联关系
    • 2、内部采用单线程机制进行工作
    • 3、高性能。官方测试数据,50个并发执行1000000个请求,读速度是10000次/s,写的速度是81000次/s
    • 4、多数据类型支出(string、list、hash、set、sotred_set)
    • 5、持久化支持(可以进行数据灾难恢复)
  • redis的应用
    • 为热点数据加速查询(主要的场景),如热点商品、热点新闻、热点资讯、推广类等高访问量信息
    • 任务队列,如秒杀、抢购、购票排队等
    • 即时信息查询,如排行榜、各类网站访问统计、公交到站信息、设备信号等
    • 时效性信息控制,如验证码控制、投票控制等
  • redis Windows版本(入门学习)
    • 下载地址 https://github.com/microsoftarchive/redis/tags
      redis
    • redis基本操作
      • redis-server是启动服务器
      • redis-cli是启动客户端
      • 功能性命令:
        • 信息添加:set key value
        • 信息查询:get key 如果不存在,返回空(nil)
        • 清除屏幕信息:clear
        • 帮助:help 命令名称help @组名
        • 退出客户端:quitexit


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部