redis 是什么

Fanly 问答 2019-05-24 15:29:13 阅读(...)

Redis是一个使用ANSI C编写的开源、支持网络、基于内存、可选持久性的高性能键值(key-value)对存储数据库。

Redis 是一个使用 ANSI C 编写的开源、支持网络、基于内存、可选持久性的高性能键值(key-value)对存储数据库。从 2015 年 6 月开始,Redis 的开发由 Redis Labs 赞助,而 2013 年 5 月至 2015 年 6 月期间,其开发由 Pivotal 赞助。在 2013 年 5 月之前,其开发由 VMware 赞助。

Redis

数据模型

Redis 的外围由一个键、值映射的字典构成。与其他非关系型数据库主要不同在于:Redis 中值的类型不仅限于字符串,还支持如下抽象数据类型:

  • 字符串列表
  • 无序不重复的字符串集合
  • 有序不重复的字符串集合
  • 键、值都为字符串的哈希表

值的类型决定了值本身支持的操作。Redis 支持不同无序、有序的列表,无序、有序的集合间的交集、并集等高级服务器端原子操作。

持久化

Redis 通常将全部的数据存储在内存中。2.4 版本后可配置为使用虚拟内存,一部分数据集存储在硬盘上,但这个特性废弃了。

当前通过两种方式实现持久化:

  • 使用快照,一种半持久耐用模式。不时的将数据集以异步方式从内存以 RDB 格式写入硬盘。
  • 1.1 版本开始使用更安全的 AOF 格式替代,一种只能追加的日志类型。将数据集修改操作记录起来。Redis 能够在后台对只可追加的记录作修改来避免无限增长的日志。

同步

Redis 支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得 Redis 可执行单层树复制。从盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。同步对读取操作的可扩展性和数据冗余很有帮助。

性能

当数据依赖不再需要,Redis 这种基于内存的性质,与在执行一个事务时将每个变化都写入硬盘的数据库系统相比就显得执行效率非常高。写与读操作速度没有明显差别。

0个人收藏 收藏

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • 排名 ranking

    淘宝号降权是什么意思

    淘宝号降权是指淘宝平台对于某些卖家账号进行的降低搜索排名和展示频率的处罚。这意味着被降权的账号的商品在淘宝搜索结果中排名会更低,展示频率也会变小,这会影响商品的销量和曝光率。
  • 腾讯 WeTest

    腾讯WeTest是什么

    WeTest是腾讯官方出品的一站式质量云,致力于产品质量标准建设和产品品质提升,依托10余年腾讯产品品质管理经验,历经千款腾讯产品磨砺。平台集成云手机、兼容测试、功能测试、性能测试、安全测试、自动化测试等优秀产品服务,满足众多开发者从研发到运营各阶段的测试需求。
  • Bitlocker

    Bitlocker分区解密软件是什么

    Bitlocker分区解密软件是一款针对因各种原因导致Bitlocker分区打不开从而数据丢失进行恢复的软件。Bitlocker是微软自Vista后开始提供的一个自带的加密工具。而这一功能最大的好处就是更好的防止数据失窃或恶意泄漏问题的发生。
  • 达芬奇视频调色软件 DaVinci Resolve

    DaVinci Resolve是什么

    DaVinci Resolve(达芬奇)是一款在同一个软件工具中将剪辑、调色、视觉特效、动态图形和音频后期制作融于一身的视频调色软件。它采用美观新颖的界面设计,易学易用,能让新手用户快速上手操作,还能提供专业人士需要的强大性能。
  • 科幻画 Science fiction painting

    科幻画是什么

    科幻画是指科幻题材的漫画或插画作品。科幻画通常是基于科学幻想或未来世界的想象,在作品中经常出现未来科技、外星人、机器人、虚拟现实等元素。它可能是一种虚构的故事,也可能是对现实世界的某种展望或预测。
  • TestFlight

    TestFlight是什么

    TestFlight是苹果公司推出的一款应用测试工具。它可以帮助开发者在应用发布之前,在iOS、macOS和tvOS上测试应用。TestFlight可以让开发者向特定的测试用户提供应用的beta版本,开发者可以使用TestFlight收集反馈并在发布之前修复问题。