美文网首页
Redis6--概述

Redis6--概述

作者: 鄙人_阿K | 来源:发表于2021-11-25 21:01 被阅读0次

    Redis6总纲

    https://www.jianshu.com/p/901dc5a0c683

    一、NoSQL概述

    1、什么是NoSQL

    (1)NoSQL = Not Only SQL(不仅仅是SQL)

    (2)关系型数据库:表格,行,列

    (3)随着web2.0互联网的诞生!传统的关系型数据库很难对付web2.0时代,尤其是超大规模的高并发的社区!暴露出来很多难以克服的问题,NoSQL在当今大数据环境下发展的十分迅速,Redis是发展最快的,而且是我们当下必须要掌握的一个技术

    (4)很多的数据类型用户的个人信息,社交网络,地理位置。这些数据类型的存储不需要一个固定的格式、不需要多余的操作就可以横向扩展的! Map<String,Object>使用键值对来控制

    2、NoSQL的特点

    (1)方便扩展(数据之间没有关系,很好扩展!)
    (2)大数据量高性能(Redis一秒写8万次,读取11万,NoSQL的缓存记录级,是一种细粒度的缓存,性能会比较高!)
    (3)数据类型是多样型的(不需要事先设计数据库!随取随用!如果是数据量十分大的表,很多人就无法设计了! )


    image.png

    真正在公司中的实践:NoSQL + RDBMS一起使用才是最强的,阿里巴巴的架构演进

    3、阿里巴巴的架构演进
    image.png

    二、NoSQL四大分类

    1、键值数据库

    相关产品:Redis、Riak、SimpleDB、Chordless、Scalaris、Memcached
    应用:内容缓存
    优点:扩展性好、灵活性好、大量写操作时性能高
    缺点:无法存储结构化信息、条件查询效率较低
    使用者:百度云(Redis)、GitHub(Riak)、BestBuy(Riak)、Twitter(Ridis和Memcached)

    2、列族数据库

    相关产品:BigTable、HBase、Cassandra、HadoopDB、GreenPlum、PNUTS
    应用:分布式数据存储与管理
    优点:查找速度快、可扩展性强、容易进行分布式扩展、复杂性低
    使用者:Ebay(Cassandra)、Instagram(Cassandra)、NASA(Cassandra)、Facebook(HBase)

    3、文档数据库

    相关产品:MongoDB、CouchDB、ThruDB、CloudKit、Perservere、Jackrabbit
    应用:存储、索引并管理面向文档的数据或者类似的半结构化数据
    优点:性能好、灵活性高、复杂性低、数据结构灵活
    缺点:缺乏统一的查询语言
    使用者:百度云数据库(MongoDB)、SAP(MongoDB)

    4、图形数据库

    相关产品:Neo4J、OrientDB、InfoGrid、GraphDB
    应用:大量复杂、互连接、低结构化的图结构场合,如社交网络、推荐系统等
    优点:灵活性高、支持复杂的图形算法、可用于构建复杂的关系图谱
    缺点:复杂性高、只能支持一定的数据规模
    使用者:Adobe(Neo4J)、Cisco(Neo4J)、T-Mobile(Neo4J)

    三、Redis入门

    1、是什么

    (1)Redis ( Remote Dictionary Server ),即远程字典服务!
    (2)是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库
    (3)并提供多种语言的API。

    2、能做什么

    (1)内存存储、持久化,内存中是断电即失、所以说持久化很重要( rdb、aof )
    (2)效率高,可以用于高速缓存
    (3)发布订阅系统
    (4)地图信息分析
    (5)计时器、计数器(浏览量!)
    (6)......

    3、特性

    (1)多样的数据类型
    (2)持久化
    (3)集群
    (4)事务

    4、基础知识 ★

    (1)切换数据库 16个 [0-15]

    127.0.0.1:6379[15]> select 7
    OK
    127.0.0.1:6379[7]> 
    

    (2)查看数据库大小

    127.0.0.1:6379[7]> DBSIZE
    (integer) 0
    127.0.0.1:6379[7]> set name mykk
    OK
    127.0.0.1:6379[7]> DBSIZE
    (integer) 1
    
    

    (3)查看所有 key

    127.0.0.1:6379[7]> keys *
    1) "name"
    

    (4)清空当前数据库:flushdb

    (5)清空全部数据库

    127.0.0.1:6379[7]> FLUSHALL
    OK
    127.0.0.1:6379[7]> keys *
    
    
    exists key判断某个key是否存在
    type key 查看你的key是什么类型
    del key       删除指定的key数据
    unlink key   根据value选择非阻塞删除
    仅将keys从keyspace元数据中删除,真正的删除会在后续异步操作。
    expire key 10   10秒钟:为给定的key设置过期时间
    ttl key 查看还有多少秒过期,-1表示永不过期,-2表示已过期
    
    5、Redis 是单线程 + 多路IO复用 ★
    image.png
    image.png

    相关文章

      网友评论

          本文标题:Redis6--概述

          本文链接:https://www.haomeiwen.com/subject/uvuztrtx.html