Redis6--概述

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使用键值对来控制

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--概述)