zoukankan      html  css  js  c++  java
  • 【redis】- 重大版本篇

    • 版本意义
      • 借鉴linux,奇数为非稳定版本,偶数为稳定版本
    • 2.6 (2012发布,经历18个版本,2.6.17)
      • 服务端支持Lua脚本
      • 去掉虚拟内存相关功能
      • 放开对客户端连接数的硬编码限制
      • 键的过期时间支持毫秒
      • 从节点提供只读功能
      • 两个新的位图命令: bitcount和bitop
      • 增强了redis-benchmark的功能: 支持定制化的压测, CSV输出等功能
      • 基于浮点数自增命令: incrbyfloat和hincrbyfloat
      • redis-cli可以使用--eval参数实现Lua脚本执行
      • shutdown命令增强
      • info可以按照section输出, 并且添加了一些统计项
      • 重构了大量的核心代码,所有集群相关的代码都去掉了,cluster功能将会是3.0版本最大的亮点
      • sort命令优化
    • 2.8 (2013.11.22发布,经历25个版本,2.8.24)
      • 添加部分主从复制的功能,在一定程度上降低了由于网络问题,造成频繁全量复制生成RDB对系统造成的压力
      • 尝试性地支持IPv6
      • 可以通过config set命令设置maxclients
      • 可以用bind命令绑定多个IP地址
      • Redis设置了明显的进程名, 方便使用ps命令查看系统进程
      • config rewrite命令可以将config set持久化到Redis配置文件中
      • 发布订阅添加了pubsub命令
      • Redis Sentinel第二版,相比于Redis2.6的Redis Sentinel,此版本已经变成生产可用
    • 3.0 (2015.4.1发布,经历8个版本,3.0.7)
      • Redis Cluster: Redis的官方分布式实现
      • 全新的embedded string对象编码结果,优化小对象内存访问,在特定的工作负载下速度大幅提升
      • lru算法大幅提升
      • migrate连接缓存, 大幅提升键迁移的速度
      • migrate命令两个新的参数copy和replace
      • 新的client pause命令, 在指定时间内停止处理客户端请求
      • bitcount命令性能提升
      • config set设置maxmemory时候可以设置不同的单位(之前只能是字节),例如config set maxmemory1gb
      • Redis日志小做调整: 日志中会反应当前实例的角色(master或者slave)
      • incr命令性能提升
    • 3.2 (2016.5.6发布,经历14个版本,3.2.13)
      • 添加GEO相关功能
      • SDS在速度和节省空间上都做了优化
      • 支持用upstart或者systemd管理Redis进程
      • 新的List编码类型: quicklist
      • 从节点读取过期数据保证一致性
      • 添加了hstrlen命令
      • 增强了debug命令, 支持了更多的参数
      • Lua脚本功能增强
      • 添加了Lua Debugger
      • config set支持更多的配置参数。
      • 优化了Redis崩溃后的相关报告。
      • 新的RDB格式, 但是仍然兼容旧的RDB。
      • 加速RDB的加载速度。
      • spop命令支持个数参数。
      • cluster nodes命令得到加速。
      • Jemalloc更新到4.0.3版本
    • 4.0 (2017.7,经历15个版本,4.0.14)
      • 提供了模块系统,方便第三方开发者拓展Redis的功能,更多模块详见:http://redismodules.com
      • PSYNC2.0: 优化了之前版本中, 主从节点切换必然引起全量复制的问题
      • 提供了新的缓存剔除算法: LFU(Last Frequently Used),并对已有57算法进行了优化
      • 提供了非阻塞del和flushall/flushdb功能,有效解决删除bigkey可能造成的Redis阻塞
      • 提供了RDB-AOF混合持久化格式, 充分利用了AOF和RDB各自优势
      • 提供memory命令, 实现对内存更为全面的监控统计
      • 提供了交互数据库功能, 实现Redis内部数据库之间的数据置换
      • Redis Cluster兼容NAT和Docker
    • 5.0 (经历11个版本,5.0.10)
      • 新的流数据类型(Stream data type) https://redis.io/topics/streams-intro
      • 新的 Redis 模块 API:定时器、集群和字典 API(Timers, Cluster and Dictionary APIs)
      • RDB 现在可存储 LFU 和 LRU 信息
      • redis-cli 中的集群管理器从 Ruby (redis-trib.rb) 移植到了 C 语言代码。执行 redis-cli --cluster help 命令以了解更多信息
      • 新的有序集合(sorted set)命令:ZPOPMIN/MAX 和阻塞变体(blocking variants)
      • 升级 Active defragmentation 至 v2 版本
      • 增强 HyperLogLog 的实现
      • 更好的内存统计报告
      • 许多包含子命令的命令现在都有一个 HELP 子命令
      • 客户端频繁连接和断开连接时,性能表现更好
      • 许多错误修复和其他方面的改进
      • 升级 Jemalloc 至 5.1 版本
      • 引入 CLIENT UNBLOCK 和 CLIENT ID
      • 新增 LOLWUT 命令 http://antirez.com/news/123
      • 在不存在需要保持向后兼容性的地方,弃用 "slave" 术语
      • 网络层中的差异优化
      • Lua 相关的改进:
        • 将 Lua 脚本更好地传播到 replicas / AOF
        • Lua 脚本现在可以超时并在副本中进入 -BUSY 状态
      • 引入动态的 HZ(Dynamic HZ) 以平衡空闲 CPU 使用率和响应性
      • 对 Redis 核心代码进行了重构并在许多方面进行了改进
    • 6.0 (经历10个版本,6.0.9)
      • 多线程IO(执行命令仍然是单线程)
      • 重新设计了客户端缓存功能
      • RESP3协议
      • 支持SSL
      • ACL权限控制
      • 提升了RDB日志加载速度
      • 发布官方的Redis集群代理模块 Redis Cluster proxy
      • 提供了众多的新模块(modules)API
      • TODO:未完待续
  • 相关阅读:
    网页解析Jsoup简单使用
    ios开发中加载的image无法显示
    数据懒加载
    ijkplayer
    ijkplayer的一些优化
    Ambiguous expansion of macro weakify和Ambiguous expansion of macro strongify的警告
    xcode11新项目删除main.storyboard 两种方法
    iOS
    iOS
    iOS 12中获取WiFi的SSID
  • 原文地址:https://www.cnblogs.com/lycsmzl/p/14235819.html
Copyright © 2011-2022 走看看