Linux Centos 安装最新Redis6,Linux运维开发需要哪些基础

yum install -y devtoolset-9-toolchain
#临时覆盖系统原有的gcc引用
scl enable devtoolset-9 bash
#查看 gcc当前版本
gcc -v


![在这里插入图片描述](https://img-blog.csdnimg.cn/c909046beec245b7b3be7fc492c12a97.png)  
 切换到解压目录,进行编译:



cd redis-6.2.4
make


![在这里插入图片描述](https://img-blog.csdnimg.cn/66caa6c9b0f54cb2b42af7e271f3a7e9.png)


#### 安装



创建安装目录

mkdir -p /usr/local/redis

执行安装命令

make PREFIX=/usr/local/redis/ install


进入安装的bin目录可以看到以下文件:  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/0990688e278a4e07b400f33ded1f9bd7.png)  
 **文件说明**:  
 `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


![在这里插入图片描述](https://img-blog.csdnimg.cn/127804650cba411db5cee0561c622d6e.png)  
 可以看到Redis对应的版本号,启动的模式是单体,默认端口号为6379。  
 这种方式启动执行 ctrl + C即可退出。  
 ![image.png](https://img-blog.csdnimg.cn/img_convert/ad1c30ee45c8d908f42cb7737ac18c41.png#clientId=ua25af210-d8b3-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=151&id=uca90d002&margin=%5BobjectObject%5D&name=image.png&originHeight=151&originWidth=571&originalType=binary&ratio=1&rotation=0&showTitle=false&size=15447&status=done&style=none&taskId=u295b77b4-80b2-4a28-9086-95931b5f417&title=&width=571)


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



cd /usr/local/src/redis-6.2.4

cp redis.conf /usr/local/redis/bin/


![在这里插入图片描述](https://img-blog.csdnimg.cn/730a15588ec14196800842d1017700e2.png)  
 回到bin目录,编辑对应的配置文件:



cd /usr/local/redis/bin/

vim redis.conf


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



./redis-server ./redis.conf


查看Redis进程:



ps -ef | grep redis

停止对应的Redis进程

kill -9 6207


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


1. 在系统服务目录里创建redis.service文件



vim /etc/systemd/system/redis.service


写入以下内容:



[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


**重载系统服务**:



systemctl daemon-reload


2. 测试并加入开机自启动


关闭redis-server:



systemctl stop redis.service


开启redis-server:



systemctl start redis.service


重启redis-server:



systemctl restart redis.service


查看redis-server状态:



systemctl status redis.service


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



systemctl enable redis.service


![在这里插入图片描述](https://img-blog.csdnimg.cn/41f269b6bcab42ebb8d5d5e356eb279c.png)


#### 通过本地客户端访问redis


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



指定允许访问的ip

bind 0.0.0.0


同时关闭防火墙:



关闭防火墙

systemctl stop firewalld

查看防火墙状态

systemctl status firewalld


客户端连接访问:  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/9ccdc68a58c2419e95548fb91a14a23e.png)


### 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-permissions> 和<https://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-docs> 、<https://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 版本。



> 
> 本文内容到此结束了,  
>  如有收获欢迎点赞👍收藏💖关注✔️,您的鼓励是我最大的动力。  
>  如有错误❌疑问💬欢迎各位大佬指出。  
>  **主页**:[共饮一杯无的博客汇总👨‍💻]( )
> 
> 
> **保持热爱,奔赴下一场山海**。🏃🏃🏃
> 
> 
> 


![在这里插入图片描述](https://img-blog.csdnimg.cn/f11f6bdc2ee6413c96498a395b9c8895.png)


**深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

![img](https://img-blog.csdnimg.cn/img_convert/80fad04d4e6a1b4a1f5bb2ae8d510b44.png)
![img](https://img-blog.csdnimg.cn/img_convert/a7d8ea65901367dc57a16ddd7339cebb.png)

  
>  如有收获欢迎点赞👍收藏💖关注✔️,您的鼓励是我最大的动力。  
>  如有错误❌疑问💬欢迎各位大佬指出。  
>  **主页**:[共饮一杯无的博客汇总👨‍💻]( )
> 
> 
> **保持热爱,奔赴下一场山海**。🏃🏃🏃
> 
> 
> 


![在这里插入图片描述](https://img-blog.csdnimg.cn/f11f6bdc2ee6413c96498a395b9c8895.png)


**深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

[外链图片转存中...(img-DSvB7DfU-1727237435065)]
[外链图片转存中...(img-MV5tZQwq-1727237435066)]

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值