Linux 下 Redis 启动报错和验证是否成功

本文介绍了Redis服务的启动流程及验证方法,包括解决启动时遇到的错误、验证服务是否成功启动及运行、如何关闭服务并将数据持久化到硬盘等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

启动服务后出现以下提示
报错1:


解决方案
#echo 511 > /proc/sys/net/core/somaxconn
然后再次启动
# pwd  
  /usr/local/redis-1.2.6    #这里必须是redis的目录
# redis-server /etc/redis.conf 
出现下图。则为成功     

下面验证是否安装成功
#ss -tanlp | grep redis

注意:我启动和验证是分两个窗口, 如果启动 ctrl+c的时候  。服务也会中止
既然验证服务启动成功,那么下面验证一下redis是不是能正常动行 
验证方式 如下图:

也可以用另外一种命令来测试
#redis-cli -h 192.168.0.207 -p 6379

上图表示 ,redis已经成功

关闭redis服务
#redis-cli shutdown
也可以验证一下是否关闭redis服务是否成功

redis服务关闭后,缓存数据会自动dump到硬盘上,硬盘地址为redis.conf中的配置项dbfilename dump.rdb所设定
强制备份数据到磁盘,使用如下命令
 redis-cli save 或者 redis-cli -p 6380 save(指定端口)
重新启动Redis服务器
#######将缓存保存到硬盘上#####
# redis-cli -h 192.168.0.207 -p 6379 BGSAVE
Background saving started
#######关闭Redis#############
# redis-cli -h   192.168.0.207  -p 6379 SHUTDOWN

########启动Redis############
# redis-server /etc/redis.conf
读到这里大家应该有疑问了,save 和BGSAVE不一样吗? 操作如下图

执行 SAVE 或者 BGSAVE 时,内存中的所有数据都会被持久化到磁盘,这个过程需要执行 I/O 操作,非常耗时。

两个命令之间的区别是, bgsave 是后台 fork 一个子进程来执行,而 save 则是服务器进程直接阻塞,直到写入操作完成为止。

那么有保存的命令,那么会有人问 有没有恢复文件的命令,i tell you  恢复是在redis启动后自动运行的

参考资料:http://redis.readthedocs.org/en/latest/server/bgsave.html


上面所述,服务关掉会把数据写到dump.rdb里面,
那么验证一下,
#vim /etc/redis.conf
查找 dbfilename  如下图

看到里面有配置这一项,那么我返回命令界面,查找dump.rdb文件路径
#find / -name dump.rdb

我们现在打开dump.rdb看里面是什么内容
#vim dump.rdb

看到里面内容就是我们刚测试的内容

### 解决Linux环境下Redis安装时遇到的错误 #### 升级GCC版本 在某些情况下,安装Redis可能会因为旧版编译器不支持新特性而失败。对于这类问题,可以通过升级`gcc`来解决。具体操作如下: 通过CentOS软件集合存储库中的开发者工具集来进行更新。这允许使用较新的开发工具链而不影响系统的稳定性。 ```bash yum install centos-release-scl yum install devtoolset-7 scl enable devtoolset-7 bash ``` 上述命令首先启用了Software Collections (SCL)仓库,接着安装了devtoolset-7包组,最后激活了新版gcc环境[^3]。 #### 设置Redis服务开机自启动 为了确保每次重启机器后都能自动运行Redis服务,可以将其设置为随系统一同启动。此过程涉及修改系统的服务配置文件并启用相应的service单元。 ```bash systemctl enable redis.service ``` 这条指令使得Redis能够在系统引导过程中被加载成为一项后台进程,从而无需手动开启[^2]。 #### 处理RDB持久化相关的问题 当尝试保存数据到磁盘时如果遇到了权限不足或者其他IO异常,则可能是因为指定的工作目录不存在或者是当前用户对该路径缺乏写入权限造成的。此时应该确认配置项中定义的数据存放位置确实存在并且可访问。 连接至正在运行的实例并通过CLI发送命令查询当前工作目录的位置;之后验证该地址的有效性安全性。必要的话调整其属性或更改参数指向其他合适的地点。 ```python import os # 获取当前工作目录 current_directory = os.getcwd() print(f"Current working directory is {current_directory}") # 列出所有子文件夹文件名 for root, dirs, files in os.walk(current_directory): print(root) for file_name in files: print(os.path.join(root, file_name)) ``` 另外还可以利用内置的方法强制触发一次完整的快照保存动作以便测试整个流程是否顺畅无阻。 ```bash ./redis-cli auth your_password_here config get dir save ``` 以上步骤有助于排查因文件系统层面引发的各种障碍,并保证后续能够正常创建RDB快照文件[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值