博客
关于我
redis基础1-redis的简介
阅读量:148 次
发布时间:2019-02-28

本文共 1156 字,大约阅读时间需要 3 分钟。

Redis 是一个高性能的 key-value 数据库

NoSQL 介绍

NoSQL 是一类新出现的数据库,不只是 SQL

  • 泛指非关系型数据库
  • 不支持 SQL 语法
  • 存储结构与传统关系型数据库完全不同,NoSQL 中存储的数据都是 key-value 形式
  • NoSQL 的世界中没有一种通用的语言,每种 NoSQL 数据库都有自己的 API 和语法,以及擅长的业务场景
  • NoSQL 中的产品种类相当多:
    • Redis
    • MongoDB
    • HBase(Hadoop 生物库
    • Cassandra(Hadoop 生物库

NoSQL 和 SQL 数据库的比较:

  • 适用场景不同:SQL 数据库适合用于复杂的数据查询场景,NoSQL 则相反
  • 事务特性支持:SQL 对事务支持非常完善,NoSQL 基本不支持事务
  • 两者在不断取长补短,呈现融合趋势

Redis 简介

Redis 是一个开源的使用 ANSI C 编写、支持网络、可基于内存亦可持久化的日志型 key-value 数据库,并提供多种语言的 API。自 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持,2013 年 5 月后,由 Pivotal 赑助。

Redis 是 NoSQL 技术阵营中的一员,通过多种键值数据类型适应不同场景下的存储需求,借助高层级接口,可胜任缓存、队列系统等多种角色。

Redis 特性

  • Redis 与其他 key-value 缓存产品有以下三个特点:
    • 支持数据持久化,可以将内存中的数据保存到磁盘上,重启时可以重新加载使用
    • 不仅支持简单的 key-value 类型数据,还提供 list、set、zset、hash 等数据结构的存储
    • 支持数据备份,采用 master-slave 模式进行数据备份

Redis 优势

  • 性能极高:Redis 的读取速度可达 11 万次/秒,写入速度约为 8.1 万次/秒
  • 丰富的数据类型:支持二进制形式的 Strings、Lists、Hashes、Sets及 Ordered Sets 数据类型操作
  • 原子操作:Redis 的所有操作都是原子性的,确保操作的可靠性
  • 丰富的特性:支持 publish/subscribe 通知、key 过期等功能

Redis 应用场景

  • 用于做缓存(如 Ehcache、Memcached):Redis 所有数据都存放在内存中(内存数据库),对于那些不会频繁变化的数据(如省市区信息),无需查询硬盘大大减少了查询时间
  • 在某些特定场景下替代传统数据库:例如社交类应用(如点赞、评论等),通过减少对数据库的操作频率来提高性能
  • 在大型系统中,实现一些特定功能:如 session 共享、购物车等
  • 只要你有丰富的想象力,Redis 可以用在可以带来无限惊喜的地方

转载地址:http://cttd.baihongyu.com/

你可能感兴趣的文章
PyQt:如何使用QAxWidget引用发送参数
查看>>
PyQt:我可以制作一个带有图标和文本的工具栏按钮吗?
查看>>
pyscopg2:是否可以在循环中动态添加 %s
查看>>
Pyserial 缓冲区的填充速度比我读的快
查看>>
PySpark - 在数据框中求和一列并将结果返回为 int
查看>>
pyspark On Yarn 的模块依赖问题
查看>>
PySpeech(Python)-转录MP3文件?
查看>>
Pyspider WebUI 未授权访问致远程代码执行漏洞复现
查看>>
pyspider爬虫学习-文档翻译-Architecture.md
查看>>
pytesseract.pytesseract.TesseractNotFoundError: tesseract is not installed or it‘s not in your path
查看>>
Pytesseract集字符白名单
查看>>
PyTorch DataLoader 报错 Segmentation fault (core dumped) 的原因及解决方案
查看>>
Pytest ------ 标记函数
查看>>
Pytest Fixture的妙用:深度解析范围和实际运用!
查看>>
Pytest monkeypatch不适用于导入的函数
查看>>
Pytest 命令行报错: Hint: make sure your test modules/packages have valid Python names.
查看>>
pytest 的 request fixture:实现个性化测试需求
查看>>
Pytest+Allure 接口自动化测试平台开发实战
查看>>
pytest+allure使用动态级别,参数化severity
查看>>
Pytest+Unittest+Git+Jenkins企业级CICD自动化测试平台建设方案
查看>>