一、下载
https://download.redis.io/releases/ (版本为6.2.6)
二、解压
mkdir /usr/local/redis
tar -zxvf redis-6.2.6.tar.gz -C /usr/local/redis
三、编译
1、检查是否安装了gcc依赖(若已经安装,无需再次安装)
gcc -v
2、若没有安装gcc依赖,需要安装gcc依赖
yum install -y gcc tcl
3、编译redis
#进入文件夹
cd /usr/local/redis/redis-6.2.6
编译命令
make && make install
默认的安装路径是在 /usr/local/bin目录下
- redis-cli:是redis提供的命令行客户端
- redis-server:是redis的服务端启动脚本
- redis-sentinel:是redis的哨兵启动脚本
四、启动reids
1、前端启动
(会阻塞会话窗口,窗口关闭或者按下CTRL + C
则Redis停止。不推荐使用)
redis-server
查看启动状态
ps -aux | grep redis
redis-cli
set mykey myvalue
get mykey
关闭redis(若未设置密码则直接执行命令./redis-cli shutdown关闭Redis服务)
redis-cli shutdown
2、后端启动
修改配置文件
cp redis.conf redis.conf.bck
vim redis.conf
更改内容如下:
#开启守护进程
daemonize yes
#允许外网访问(生产环境配置本机IP地址)
bind 0.0.0.0
#允许外部链接
protecetd-mode no
#设置密码
requirepass 123456
用指定的配置文件启动redis
redis-server /usr/local/redis/redis-6.2.6/redis.conf
ps -ef |grep redis
启动客户端
redis-cli
auth 123456
进入redis客户端后用shutdown关闭reids
shutdown
# 如果刚才上面设置了密码,则需要通过 -u 来指定密码
redis-cli -u 123456 shutdown
使用redis客户端工具进行外部链接
其他服务器用客户端连接redis服务器
redis-cli -h 192.168.154.128 -p 6379 -a 123456
五、redis的简单配置
配置项 | 值 | 解释 |
port | 6379 | 客户端通讯端口,redis服务器启动的端口 |
daemonize | yes | 以后台的方式运行 |
bind | 192.168.56.101 | redis服务启动时绑定的ip地址,是本地网卡的地址 |
pidfile | /var/run/redis_6379.pid | 当是以后台方式运行时,会产生一个pid文件 |
logfile | /var/log/redis_6379.log | 指定日志文件的路径 |
dir | ./ | 数据库的持久化文件保存的路径,必须是目录 |
appendonly | yes | 打开aof持久化 |
appendfsync | everysec | aof每秒写入一次 |
appendfilename | appendonly.aof | aof文件名 |
requirepass | 123456 | 设置一个redis的密码,可以设置的复杂一些 |
maxclients | 10000 | 设置最大可以有多少个连接连接到redis server |
maxmemory | 2GB | 设置redis最多可用的内存 |
六、安装redis过程中碰到的问题
编译Redis时报错: jemalloc/jemalloc.h: No such file or directory
检查gcc是否安装
gcc --version
二、清除原来安装失败的残余文件
make distclean
make clean
三、原因: jemalloc重载了Linux下的ANSI C的malloc和free函数,解决如下:
make MALLOC=libc
make install
若以上仍没有解决,则升级gcc版本,方案如下:
一、gcc版本过低(需要升级gcc)
第一步:安装centos-release-scl
sudo yum install centos-release-scl
第二步:安装devtoolset(安装debtoolset / gcc),注意,如果想安装8.版本的,就改成devtoolset-8-gcc,以此类推,默认安装的devtoolset是在 /opt/rh 目录下的。
sudo yum install devtoolset-8-gcc*
第三步:激活对应的devtoolset(这条激活命令只对本次会话有效,重启会话后还是会变回原来的4.8.5版本)
scl enable devtoolset-8 bash
第四步:启动
每个版本的目录下面都有个 enable 文件,如果需要启用某个版本,只需要执行:
source ./enable
所以要想切换到某个版本,只需要执行:
source /opt/rh/devtoolset-8/enable
第五步:直接替换旧的gcc
旧的gcc是运行的 /usr/bin/gcc,所以将该目录下的gcc/g++替换为刚安装的新版本gcc软连接,免得每次enable
mv /usr/bin/gcc /usr/bin/gcc-4.8.5
ln -s /opt/rh/devtoolset-7/root/bin/gcc /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++-4.8.5
ln -s /opt/rh/devtoolset-7/root/bin/g++ /usr/bin/g++
最后:查看gcc版本
which gcc
gcc --version
二、报错:jemalloc/jemalloc.h:No such file or directory
第一次执行make时由于某些异常(大部分情况下是由于gcc未安装)导致make失败,
安装gcc后再次make,就会报错致命错误:jemalloc/jemalloc.h:No such file or directory。
原因:
上次编译失败存在残留文件,需要清理并且重新编译。
解决方案
make distclean
make clean
七、Redis操作
- 配置redis为后台启动:vi /usr/local/redis/etc/redis.conf //将daemonize no 改成daemonize yes
- 修改为密码登录:打开redis.conf文件,搜索requirepass关键字;关注标记的那一行,#requirepass foobared。设置密码的方法就是去掉注释的#,把foobared替换成自己的密码即可,例如将密码设置为asdf1234
- 修改日志存储文件位置:打开redis.conf文件,修改logfile 为 "/usr/local/redis/redis-5.0.5/logs/redis.log"
- 修改数据保存文件位置:打开redis.conf文件,在dir 后面添加/usr/local/redis/redis-5.0.5/data
- 允许外网访问redis配置:更改redis.conf 文件,把 bind 127.0.0.1注释掉;更改protected-mode 为no。
- 将redis加入到开机启动:vi /etc/rc.local //在里面添加内容:/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
- 启动redis:./redis-server /usr/local/redis-5.0.5/conf/redis.conf
- 判断是否连接成功: ./redis-cli -h 127.0.0.1 -p 6379
- 客户端用密码登录 : ./redis-cli -h 127.0.0.1 -p 6379 -a asdf1234
- 停止redis:./src/redis-cli shutdown 或 redis-cli -h 127.0.0.1 -p 6379 shutdown
- 启动Redis 客户端 /usr/local/bin/redis-cli; auth 密码
- 安装redis服务:redis-server --service-install redis.windows-service.conf --loglevel verbose
- 卸载redis服务:redis-server --service-uninstall
- 启动服务命令:redis-server.exe --service-start
- 关闭服务命令:redis-server.exe --service-stop