当前位置: 首页 > news >正文

Linux安装redis(基于CentOS系统,Ubuntu也可参考)

前言:本文内容为实操记录,仅供参考!

一、下载并解压Redis

1、执行下面的命令下载redis:
wget https://download.redis.io/releases/redis-6.2.6.tar.gz

2、解压redis:
tar xzf redis-6.2.6.tar.gz

3、移动redis目录,一般都会将redis目录放置到 /usr/local/redis目录:
mv redis-6.2.6 /usr/local/redis

二、编译并安装redis

1、进入redis安装目录,执行make命令编译redis:
cd /usr/local/redis
make
等待make命令执行完成即可。

如果执行make命令报错:cc 未找到命令,原因是虚拟机系统中缺少gcc,执行下面命令安装gcc:
yum -y install gcc automake autoconf libtool make

如果执行make命令报错:致命错误:jemalloc/jemalloc.h: 没有那个文件或目录,则需要在make指定分配器为libc。执行下面命令即可正常编译:
make MALLOC=libc
make命令执行完,redis就编译完成了。

2、执行下面命令安装redis,并指定安装目录
make install PREFIX=/usr/local/redis至此,redis即安装成功。

三、启动redis

1、进入redis安装目录,执行下面命令启动redis服务
./bin/redis-server redis.conf

此时,可以看到redis服务被成功启动:但这种启动方式不能退出控制台,如果退出,那么redis服务也会停止。如果想要redis以后台方式运行,需要修改redis的配置文件:redis.conf。将该配置文件中的daemonize no改为daemonize yes即可:

补充:
  1. 通过将redis.conf配置文件中的bind 127.0.0.1 -::1注释掉,实现redis服务允许远程连接。
  2. 通过在redis.conf配置文件中添加requirepass '此处为密码',实现登录校验。

修改完成后,重新执行启动命令启动redis,然后通过下面命令查看redis进程,可以发现redis服务已经被启动了:
ps -ef | grep redis

2、通过redis-cli测试redis是否可用,在redis安装目录执行下面命令:
./bin/redis-cli

3、若设置了登录校验还需要再输入密码进行登录校验:
auth password

4、若没有设置登录校验即可直接进入到redis服务:

此处我们通过下面命令随便set一个字符串类型的值,key是test,value是hello:
set test hello

然后通过下面命令get出test这个key的value值:
get test

测试没有问题,至此,redis在我们的Linux服务器上就已经安装完成了。

附两种报错及解决方案:

  1. 启动Redis报错:
    WARNING overcommit_memory is set to 0 Background save may fail under low memory condition。这是内存的值设置过低的造成的问题。解决:编辑
    /etc/sysctl.conf,添加vm.overcommit_memory = 1 #表示内核允许分配所有的物理内存
  2. 启动Redis报错:WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.这是因为某个配置文件的值过低,导致无法承载redis服务启动。此时应该再/etc/sysctl.conf文件中添加字段并赋值net.core.somaxconn = 1024,然后执行sysctl -p进行刷新,问题解决。
Redis部署中的问题总汇:http://t.csdnimg.cn/IAslV
http://www.lryc.cn/news/329701.html

相关文章:

  • ChatGPT引领量化交易革命:AI在金融创新的浪潮中崭露头角
  • 无忧微服务:如何实现大流量下新版本的发布自由
  • Halcon3D表面平面度检测-平面差值法
  • golang 在多线程中避免 CPU 指令重排
  • 自动化更新包文件--shell脚本
  • Vue element-plus 导航栏 [el-menu]
  • 数据结构——数组
  • python asyncio websockets server
  • 视频素材免费网站有哪些?8个视频素材库网站下载推荐
  • ChatGPT与传统搜索引擎的区别:智能对话与关键词匹配的差异
  • xargs后调用bash自定义函数(写该函数文本到脚本, 并引导PATH)
  • 学术论文写作新利器:ChatGPT技巧详解
  • Spring整合JDBC
  • 详解Qt中的布局管理器
  • MyBatis 参数重复打印的bug
  • ES6学习之路:迭代器Iterator和生成器Generator
  • 如何使用 DynamiCrafter Interp Loop 无缝连接两张照片
  • 今天起,Windows可以一键召唤GPT-4了
  • 使用Kaggle API快速下载Kaggle数据集
  • java 通过 microsoft graph 调用outlook(二)
  • 【机器学习】代价函数
  • [leetcode] 100. 相同的树
  • 08、Lua 函数
  • 【数据分析面试】1. 计算年度收入百分比(SQL)
  • 数据库SQL语句速查手册
  • 智慧城市一屏统览,数字孪生综合治理
  • Python读取PDF文字转txt,解决分栏识别问题,能读两栏
  • 微信支付平台与微信服务号关联配置要点
  • C++类复习
  • Spring使用(一)注解