Redis简介
Redis(REmote DIctionary Server)是一个使用ANSI C编写的、开源的、支持网络的、基于内存的、可选持久化的键值对存储系统。
Redis支持五种基本数据类型:string,hash,list,set和zset(sorted set),同时支持四种特殊基本类型:bitMap,geospatial,hyperLogLog和streams。
Redis特点
1.Redis是内存型的数据库,响应非常快,每秒可以执行大约 110 000 个写入操作,或者 81 000 个读操作,其速度远超数据库。
2.Redis的工作模式为单线程,Redis采用单线程主要因为其瓶颈在内存和带宽上,而不是CPU。采用多线程还需要考虑线程安全等问题,反而会降低效率。
3.Redis支持数据持久化,持久化方式目前有三种:RDB、AOF和RDB-AOF混合。
Redis 5.0的新特性
1.新的流数据类型(Stream)
2.新的 Redis 模块 API:定时器、集群和字典 API
3.RDB 现在可存储 LFU 和 LRU 信息
4.redis-cli 中的集群管理器从 Ruby 移植到了 C 语言代码。
5.新的有序集合(sorted set)命令:ZPOPMIN/MAX 和阻塞变体(blocking variants)
6.升级 Active defragmentation 至 v2 版本
7.增强 HyperLogLog 的实现
8.更好的内存统计报告
9.许多包含子命令的命令现在都有一个 HELP 子命令
10.客户端频繁连接和断开连接时,性能表现更好
11许多错误修复和其他方面的改进
12.升级 Jemalloc 至 5.1 版本
13.引入 CLIENT UNBLOCK 和 CLIENT ID
14.新增 LOLWUT 命令 http://antirez.com/news/123
15.在不存在需要保持向后兼容性的地方,弃用 “slave” 术语
16.引入动态的 HZ(Dynamic HZ) 以平衡空闲 CPU 使用率和响应性
17.对 Redis 核心代码进行了重构并在许多方面进行了改进