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<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
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 关系型数据库(SQL):Mysql,oracle 特点:数据和数据之间、表和字段之间,表和表之间是存在关系的。 优...
    易点梅阅读 3,297评论 0 0
  • 一、为什么需要NoSQL High performance 高并发读写 Huge Storage 海量数据的高效率...
    AC编程阅读 1,639评论 0 1
  • 一、Redis 概述 1、什么是Redis Redis是一款高性能的NOSQL系列的非关系型数据库,是用C语言开发...
    丛鹏阅读 1,333评论 0 0
  • Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库,官方提供测试数据,50个并发执行10...
    h2coder阅读 1,729评论 0 1
  • redis概念下载安装命令操作数据结构持久化操作使用Java客户端操作redis Redis 概念: redis是...
    abboo阅读 1,459评论 0 0

友情链接更多精彩内容