Redis基哥度娘
Redis(远程字典服务器) 是一种开源的内存中数据结构项目, 它实现了具有可选耐久性的分布式内存密钥值数据库。Redis 支持各种抽象数据结构, 如字符串、列表、映射、集、排序集、 hyperloglogs、位图和空间索引。该项目主要由萨尔瓦多 Sanfilippo 开发, 目前由Redis 实验室赞助。通俗的讲就是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
定义什么的,看起来也是比较迷。说白了Redis就是一个基于内存的非关系型数据库(NoSQL)。NoSQL:Not Only SQL 非关系型数据库(NoSqL描述的是大量结构化数据存储方法的集合)
redis官网:redis.io redis.cn(中文网)
redis官网只有linux版本的,不支持windows。但GitHub上有项目地址,用起感觉还是很爽的。
五种基本数据类型
字符串(string)
列表(list)
集合(set)
哈希(hash)
有序集合(zset)
持久性
Redis 通常在内存中保存整个数据集。可将多达2.4 的版本配置为使用它们所指的虚拟内存[21] , 其中某些数据集存储在磁盘上, 但此功能已弃用。持久性现在以两种不同的方式实现: 一个称为快照, 是一种半持久耐用模式, 数据集是以 RDB 转储格式以异步方式从内存传输到磁盘的。自版本1.1 以来, 更安全的替代方法是第, 将处理作为修改内存中的数据集的操作编写的仅追加文件(日志)。Redis 能够在后台重写仅追加文件, 以避免日志的无限期增长。
默认情况下, Redis 至少每2秒将数据写入文件系统, 如果需要, 可以使用或多或少健壮的选项。如果在默认设置上出现完全系统故障, 则只会丢失几秒钟的数据。
复制
Redis 支持主从复制。任何 Redis 服务器的数据都可以复制到任意数量的奴隶身上。奴隶可能是另一个奴隶的主人。这允许 Redis 实现单根复制树。Redis 奴隶可以配置为接受写入, 允许实例之间有意和无意的不一致。发布/订阅功能已完全实现, 因此从属的客户端可以订阅一个信道, 并接收发布到主服务器的消息的完整提要 (复制树的任何位置)。复制对于读取 (但不是写入) 可伸缩性或数据冗余非常有用。
性能
当不需要数据的持久性时, Redis 的内存特性使它能够比在考虑提交事务之前将每个更改写入磁盘的数据库系统执行得好。 [7] Redis 在重写第 (仅限追加文件) 时作为单个进程运行, 并且是单线程或双线程的。 [23] 因此, 一个单一的 Redis 实例不能利用任务 (如存储过程) 的并行执行。
网友评论