redis(一)基本概念

一、NoSql

1.1、什么是NoSql

NoSql,泛指非关系型数据库。传统的关系型数据库在处理超大规模和高并发SNS类型的web2.0纯动态网站力有不逮,出现了很多难以克服的问题,非关系型数据库由于其本身的特点得到了非常迅速的发展。NoSql的出现就是为了解决大规模数据集合,多重数据种类带来的挑战。尤其是大数据挑战。

NoSql 解释为:“non-relational”、“Not Only Sql”,区别关系型数据库,它不保证关系数据的ACID性。

1.2、为什么使用NoSql

传统数据库瓶颈:

传统数据库性能不错,具有高稳定性,久经考验,使用简单,功能强大,有大量成功案例。在互联网领域,MySql贡献卓越。

现代网站的特点:

  1. 高并发读写:Web2.0,数据库并发负载非常高,往往达到每秒上万次读写;
  2. 高容量和高效存储:web2.0需要在后台存储海量数据,存储这些数据和查询这些数据是一个挑战。
  3. 高扩展和高可用性:随着系统用户量和访问量增长,需要数据库进行很方便的扩展和维护。

NoSql数据库优势:

  1. 易扩展:NoSql数据库种类繁多,但是都有一个特点:去掉关系型数据库的关系型特性,数据间无关系,非常容易扩展,也无形间在架构层面扩展带来了可能性。
  2. 大数据量,高性能:NoSql有非常高的读写性能,尤其在大数据量情况下。这得益于它的无关系性,数据库结构简单。一般Mysql使用Query Cache,每次表更新Cache就失效,是一种大颗粒度的Cache。对于web2.0的交互频繁的应用,Cache性能不高。而NoSql的Cache是记录级的,是一种细颗粒度的,性能更高。
  3. 灵活的数据模型:NoSql无需事先为要存储的数据建立字段,随时可以存储自定义数据格式。而在关系型数据库中,增删字段是一件很麻烦的事情。如果是大数据量的表更加麻烦。
  4. 高可用:NoSql在不影响性能情况下,就可以实现高可用框架。

1.3、常见NoSql产品和区别

在这里插入图片描述

数据库分类键值列族文档图形
产品RedisHBaseMongoDBNeo4j
应用场景内容缓存,会话、配置、参数;频繁读写分布式数据存储与管理web应用,面向文档或类似半结构化数据社交网络、推荐系统,专注构建关系图谱
数据模型key-value键值,通过散列表实现列族式存储,同一列数据存在一起key-value,value是json结构文档图结构
优点扩展性好,灵活性好,大量操作时性能高可扩展性强,查找速度快,复杂性低数据结构灵活,可以根据value构建索引支持复杂图形算法
缺点数据无结构化,通常只作为字符串或二进制数据,只能根据键来查询值功能局限,不支持事务的强一致性缺乏统一查询语法复杂性高,只能支持一定的数据规模

二、Redis

2.1、概念

Remote Dictionary Server(远程字典服务器),开源,C语言编写,遵守BCD协议。是一个高性能Key/Value分布式内存数据库。

基于内存运行并支持持久化的NoSql数据库,是当前最热门的NoSql数据库之一,也被称为数据结构数据库。

Redis与其他Key-Value有以下特点:

  1. Redis支持数据持久化,可以将内存中的数据保存到磁盘中,重启时再次加载使用。
  2. Redis不仅仅支持简单的Key-Value类型数据,同时还提供list、set、zset、hash等数据结构存储
  3. Redis支持数据备份,及master-slave(主从模式)备份数据

2.2、redis优势

  1. 性能极高-读的速度是110000次/s,写的速度是81000次/s
  2. 丰富的数据类型-Redis支持 Strings、Lists、Hashes、Sets、Ordered Sets数据类型操作
  3. 原子-所有的操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
  4. 丰富的特性-Redis支持publish/subscribe,通知,key过期等等特性
  5. 采用单线程,避免了不必要的上下文切换和竞争条件,也不存在多进程或多线程导致的切换而消耗CPU,不用去考虑各种锁问题,不存在加锁释放锁操作,没有可能出现死锁而导致的性能消耗。
  6. 多路I/O复用,非阻塞IO。

2.3、Redis应用场景

  1. 缓存(数据查询,短连接,新闻内容,商品内容等等),使用最多
  2. 聊天室在线好友列表
  3. 任务列表(秒杀,抢购,12306)
  4. 应用排行榜
  5. 网站访问统计
  6. 数据过期处理(精确到毫秒)
  7. 分布式集群架构中的session问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笑谈子云亭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值