• Linux Centos 安装最新Redis6.2.4版本


    下载安装

    下载安装包

    进入官网https://redis.io/,点击download。一般下载Stable版本(稳定版),可以看到6版本最新的已经到6.2.4了,7.0版本都已经发布了,Redis版本更新是真的快啊。
    在这里插入图片描述
    可以在此页面上找到所有的Redis发行版本:https://download.redis.io/releases/
    这里我们选择6.2.4版本通过wget命令在Centos系统来下载安装:

    wget -P /usr/local/src/ https://download.redis.io/releases/redis-6.2.4.tar.gz
    
    • 1

    如果系统没有wget,需要执行以下命令安装后再执行上述命令:

    yum install -y wget
    
    • 1

    解压

    tar -zxvf redis-6.2.4.tar.gz
    
    • 1

    编译

    下载安装gcc环境:

    yum install -y gcc-c++ autoconf autamake
    
    • 1

    在这里插入图片描述
    ⚠️注意:在Centos7中安装最新版本的Redis需要升级gcc,默认情况yum安装的gcc版本是4.8.5,由于版本过低,在编译时会报如下错误。执行如下命令升级gcc:

    #安装scl 源
    yum install -y centos-release-scl scl-utils-build
    #安装9版本的gcc. gcc-c++、gdb工具链(toolchian)
    yum install -y devtoolset-9-toolchain
    #临时覆盖系统原有的gcc引用
    scl enable devtoolset-9 bash
    #查看 gcc当前版本
    gcc -v
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述
    切换到解压目录,进行编译:

    cd redis-6.2.4
    make
    
    • 1
    • 2

    在这里插入图片描述

    安装

    # 创建安装目录
    mkdir -p /usr/local/redis
    
    # 执行安装命令
    make PREFIX=/usr/local/redis/ install
    
    • 1
    • 2
    • 3
    • 4
    • 5

    进入安装的bin目录可以看到以下文件:
    在这里插入图片描述
    文件说明
    redis-server :启动Redis
    redis-cli: redis命令行客户端
    redis-benchmark:基准测试工具
    redis-check-aof : AOF持久化文件检测和修复工具
    redis-check-rdb: RDB 持久化文件检测和修复工具
    redis-sentinel :启动redis Sentinel
    redis.conf :redis 配置文件
    dump.rdb:Redis服务器自动生成的,内存快照,持久化机制叫做SNAPSHOT,服务器宕机,重新启动redis服务器程序时redis会自动加载 dump.rdb,将数据库状态恢复到上一次做SNAPSHOT时的状态

    启动

    如果没有在系统环境变量配置redis,需要进入bin目录启动
    前端启动,窗口关闭后,redis也关闭。

    ./redis-server
    
    • 1

    在这里插入图片描述
    可以看到Redis对应的版本号,启动的模式是单体,默认端口号为6379。
    这种方式启动执行 ctrl + C即可退出。
    image.png

    进入Redis解压目录,复制对应的配置文件到bin目录。

    cd /usr/local/src/redis-6.2.4
    
    cp redis.conf /usr/local/redis/bin/
    
    • 1
    • 2
    • 3

    在这里插入图片描述
    回到bin目录,编辑对应的配置文件:

    cd /usr/local/redis/bin/
    
    vim redis.conf
    
    • 1
    • 2
    • 3

    daemonize参数值设置成yes。重新执行如下命令启动:

    ./redis-server ./redis.conf
    
    • 1

    查看Redis进程:

    ps -ef | grep redis
    
    # 停止对应的Redis进程
    kill -9 6207
    
    • 1
    • 2
    • 3
    • 4

    配置开机自启动(centos7以上)

    1. 在系统服务目录里创建redis.service文件
    vim /etc/systemd/system/redis.service
    
    • 1

    写入以下内容:

    [Unit]
    Description=redis-server
    After=network.target
    [Service]
    Type=forking
    ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
    PrivateTmp=true
    [Install]
    WantedBy=multi-user.target
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    重载系统服务:

    systemctl daemon-reload
    
    • 1
    1. 测试并加入开机自启动

    关闭redis-server:

    systemctl stop redis.service
    
    • 1

    开启redis-server:

    systemctl start redis.service
    
    • 1

    重启redis-server:

    systemctl restart redis.service
    
    • 1

    查看redis-server状态:

    systemctl status redis.service
    
    • 1

    开启成功,将服务加入开机自启

    systemctl enable redis.service
    
    • 1

    在这里插入图片描述

    通过本地客户端访问redis

    上述redis安装启动后,我们发现本地客户端无法访问到服务器的Redis,通过配置redis.conf文件,把bind参数设置成 0.0.0.0,允许所有IP连接,测试使用,生产不要这么配置,风险较大⚠️。

    # 指定允许访问的ip
    bind 0.0.0.0
    
    • 1
    • 2

    同时关闭防火墙:

    # 关闭防火墙
    systemctl stop firewalld
    # 查看防火墙状态
    systemctl status firewalld
    
    • 1
    • 2
    • 3
    • 4

    客户端连接访问:
    在这里插入图片描述

    Redis关键版本特性

    Redis2.6(2012)

    1. 服务端支持Lua脚本。
    2. 去掉虚拟内存相关功能。
    3. 放开对客户端连接数的硬编码限制。
    4. 键的过期时间支持毫秒。
    5. 从节点支持只读功能。
    6. 两个新的位图命令:bitcount和bitop。
    7. 增强了redis-benchmark的功能:支持定制化的压测,CSV输出等功能。
    8. 基于浮点数自增命令:incrbyfloat和hincrbyfloat。
    9. redis-cli可以使用–eval参数实现Lua脚本执行。
    10. shutdown命令增强。
    11. 重构了大量的核心代码,所有集群相关的代码都去掉了,cluster功能将会是3.0版本最大的亮点。
    12. info可以按照section输出,并且添加了一些统计项
    13. sort命令优化

    Redis2.8(2013-11-23)

    1. 添加部分主从复制的功能,在一定程度上降低了由于网络问题,造成频繁全量复制生成RDB对系统造成的压力。
    2. 尝试性的支持IPv6.
    3. 可以通过config set命令设置maxclients。
    4. 可以用bind命令绑定多个IP地址。
    5. Redis设置了明显的进程名,方便使用ps命令查看系统进程。
    6. config rewrite命令可以将config set持久化到Redis配置文件中。
    7. 发布订阅添加了pubsub。
    8. Redis Sentinel第二版,相比于Redis2.6的Redis Sentinel,此版本已经变成生产可用。

    Redis3.0(2015-04-01里程碑)

    1. Redis Cluster:Redis的官方分布式实现。
    2. 全新的embedded string对象编码结果,优化小对象内存访问,在特定的工作负载下载速度大幅 提升。
    3. Iru算法大幅提升。
    4. migrate连接缓存,大幅提升键迁移的速度。
    5. migrate命令两个新的参数copy和replace。
    6. 新的client pause命令,在指定时间内停止处理客户端请求。
    7. bitcount命令性能提升。
    8. cinfig set设置maxmemory时候可以设置不同的单位(之前只能是字节)。
    9. Redis日志小做调整:日志中会反应当前实例的角色(master或者slave)。
    10. incr命令性能提升。

    Redis3.2(2016-05-06)

    1. 添加GEO相关功能。
    2. SDS在速度和节省空间上都做了优化。
    3. 支持用upstart或者systemd管理Redis进程。
    4. 新的List编码类型:quicklist。
    5. 从节点读取过期数据保证一致性。
    6. 添加了hstrlen命令。
    7. 增强了debug命令,支持了更多的参数。
    8. Lua脚本功能增强。
    9. 添加了Lua Debugger。
    10. config set 支持更多的配置参数。
    11. 优化了Redis崩溃后的相关报告。
    12. 新的RDB格式,但是仍然兼容旧的RDB。
    13. 加速RDB的加载速度。
    14. spop命令支持个数参数。
    15. cluster nodes命令得到加速。
    16. Jemalloc更新到4.0.3版本。

    Redis4.0(2017-07-15 大改版)

    1. 提供了模块系统,方便第三方开发者拓展Redis的功能。
    2. PSYNC2.0:优化了之前版本中,主从节点切换必然引起全量复制的问题。
    3. 提供了新的缓存剔除算法:LFU(Last Frequently Used),并对已有算法进行了优化。
    4. 提供了非阻塞del和flushall/flushdb功能,有效解决删除了bigkey可能造成的Redis阻塞。
    5. 提供了memory命令,实现对内存更为全面的监控统计。
    6. 提供了交互数据库功能,实现Redis内部数据库的数据置换。
    7. 提供了RDB-AOF混合持久化格式,充分利用了AOF和RDB各自优势。
    8. Redis Cluster 兼容NAT和Docker。

    Redis5.0(2018-10-18)

    1. 新的Stream数据类型。
    2. 新的Redis模块API:Timers and Cluster API。
    3. RDB现在存储LFU和LRU信息。
    4. 集群管理器从Ruby(redis-trib.rb)移植到C代码。可以在redis-cli中。查看 redis-cli —cluster help`了解更多信息。
    5. 新sorted set命令:ZPOPMIN / MAX和阻塞变量。
    6. 主动碎片整理V2。
    7. 增强HyperLogLog实现。
    8. 更好的内存统计报告。
    9. 许多带有子命令的命令现在都有一个HELP子命令。
    10. 客户经常连接和断开连接时性能更好。
    11. 错误修复和改进。
    12. Jemalloc升级到5.1版

    Redis6.0(2020-08-27)

    1. 许多新的模块API。
    2. 更好过期算法。
    3. SSL支持。
    4. ACL支持。
    5. 新的RESP3协议。
    6. 客户端缓存。
    7. 多线程I/O。多线程部分只是用来处理网络数据的读写和协议解析,执行命令仍然是单线程。
    8. 副本的无盘复制。
    9. redis-benchmark支持和redis-cli改进。
    10. Systemd 支持重写。
    11. redis集群代理的发布(还不稳定,不建议生产使用)。
    12. disque模块的发布

    Redis7.0(2022-01-31 )

    1. Redis Functions:Redis函数,一种新的通过服务端脚本扩展Redis的方式,函数与数据本身一起存储。函数还被持久化到AOF文件,并从主文件复制到副本,因此它们与数据本身一样持久,见:https://redis.io/topics/functions-intro
    2. ACL改进:支持基于key的细粒度的权限,允许用户支持多个带有选择器的命令规则集,见:https://redis.io/topics/acl#key-permissionshttps://redis.io/topics/acl#selectors
    3. sharded-pubsub:分片发布/订阅支持,之前消息会在整个集群中广播,而与订阅特定频道/模式无关。发布行为会连接到集群中的所有节点,而不用客户端连接到所有节点都会收到订阅消息。见 https://redis.io/topics/pubsub#sharded-pubsub
    4. 在大多数情况下把子命令当作一类命令处理(Treat subcommands as commands)(影响 ACL类别、INFO 命令统计等)
    5. 文档更新:提供命令的元数据和文档,文档更完善,见https://redis.io/commands/command-docshttps://redis.io/topics/command-tips
    6. Command key-specs:为客户端定位key参数和读/写目的提供一种更好的方式;
    7. 多部分 AOF 机制避免了 AOF 重写的开销;
    8. 集群支持主机名配置,而不仅仅是 IP 地址;
    9. 客户端驱逐策略:改进了对网络缓冲区消耗的内存的管理,并且提供一个选项,当总内存超过限制时,剔除对应的客户端;
    10. 提供一种断开集群总线连接的机制,来防止不受控制的缓冲区增长;
    11. AOF:增加时间戳和对基于时间点恢复的支持;
    12. Lua:支持 EVAL 脚本中的函数标志;
    13. Lua:支持 Verbatim 和 Big-Number 类型的 RESP3 回复;
    14. Lua:可以通过 redis.REDIS_VERSION、redis.REDIS_VERSION_NUM来获取 Redis 版本。

    本文内容到此结束了,
    如有收获欢迎点赞👍收藏💖关注✔️,您的鼓励是我最大的动力。
    如有错误❌疑问💬欢迎各位大佬指出。
    主页共饮一杯无的博客汇总👨‍💻

    保持热爱,奔赴下一场山海。🏃🏃🏃

    在这里插入图片描述

  • 相关阅读:
    基于微信健身房私教预约小程序系统设计与实现 开题报告
    C# WPF入门学习番外篇(二) —— C# WPF使用数据库创建注册登录界面
    【编程题】【Scratch二级】2022.06 画正方形
    测量程序正算
    拿捏了,阿里2022最新JDK源码深度解析小册,Github全站热榜第二
    OpenAI接口Completion和ChatCompletion的区别与使用方法
    windows安装elasticsearch和kibana的安装配置教程
    Linux中防火墙的简单使用方法
    kotlin coroutine源码解析之Dispatchers协程调度器
    代码随想录 动态规划Ⅸ
  • 原文地址:https://blog.csdn.net/qq_35427589/article/details/126891209