一款由 C 编写的开源、基于内存、单线程、可长久化的 NoSql 数据库。
环境与版本
linux 环境为腾讯云 单核
`CentOS7.2.1511`。
redis 版本为5.0.9
。Redis 官网下载地址.
为什么不装置 redis6 版本?
CentOS7
,原装的 gcc
版本为4.8.5
。装置 redis6 须要降级 gcc 版本,目前最新的 gcc 版本为 gcc10,辣条君尝试装置 gcc9 版本,发现编译 2 个多小时都没有完结。网上说,编译时能够应用make -j4
,能够开启多过程编译,but 辣条君的服务器是单核的,遂放弃降级 gcc,乖乖的装置 redis5。redis5 诞生于 2018 年底,基本功能蛮弱小了。
装置
能够应用 wget 命令下载 redis 安装包,或者从官网上下载安装包 copy 到你的环境中。
# 下载
cd /usr/local/
wget http://download.redis.io/releases/redis-5.0.9.tar.gz
# 解压
tar -zxvf redis-5.0.9.tar.gz
编译
cd /redis-5.0.9
make
make install PREFIX=/usr/local/redis
此时,查看 /usr/local/redis/bin
门路会发现 redis 可执行文件。将罕用的可执行文件放到环境变量中。
cd ..
cd redis/bin/
# 个别都具备超级权限,sudo 能够去掉
sudo cp redis-cli redis-server redis-sentinel /usr/local/bin
此时,你的 redis 就能够启动应用了,为了便于管理文件,咱们把配置文件放到适合的地位,并批改下配置文件。
cd /usr/local/redis-5.0.9/
# 咱们应用的配置文件在 /usr/local/redis.conf
cp redis.conf /usr/local/
cd..
# 应用 vim 查看并批改 redis.conf
vim redis.conf
批改配置文件
咱们应用 vim
批改局部参数,其余默认就好。
# 主机地址,默认是 127.0.0.1,批改成 0.0.0.0
bind 0.0.0.0
# 端口 默认就好
port 6379
# 是否开启为守护线程,默认是 no,改成 yes
daemonize yes
# 指定 redis 过程的 PID 文件寄存地位 给文件重命名
pidfile /var/run/redis_6379.pid
# 日志寄存地位 给文件重命名
logfile /var/log/redis_6379.log
# rdb 模式长久化快照,默认就好
dbfilename dump.rdb
# 长久化文件寄存地位 默认就好
dir ./
# redis 连贯明码
requirepass 123456
以上,能够依据正文很好的了解并批改局部配置文件。具体解释下几个参数:
bind
设置成0.0.0.0
,是为了保障本服务器以外的客户端能够拜访本 redis 服务。
daemonize
设置成 yes
,将 redis 服务变成守护过程。在该模式下,redis 会在后盾运行,并将过程 pid 号写入至 redis.conf 选项 pidfile 设置的文件中,此时 redis 将始终运行,除非手动 kill 该过程。daemonize 选项设置成 no 时,以后界面将进入 redis 的命令行界面,exit 强制退出或者敞开连贯工具(putty,xshell 等) 都会导致 redis 过程退出。
requirepass
:如果你是云服务,这个明码肯定要设置!否则,服务器很容易被某些人拿去当矿机,就是所有服务都给你停掉,只开起挖矿程序,那你真成了 打工人
了。别问辣条君怎么晓得的。。
启动与应用
启动 so easy,就一行。
redis-server /usr/local/redis.conf
# 查看一下是否启动
ps -ef | grep redis
# 发现过程阐明 OK 了
root 11890 1 0 Nov04 ? 00:02:39 redis-server 0.0.0.0:6379
咱们的应用,分为 3 种状况:本服务器内应用、其余机器 (你的个人电脑) 可视化客户端应用、其余机器(你的个人电脑)cli 客户端应用。
- 首先看本服务器内应用
redis-cli -h 127.0.0.1 -p 6379 -a 123456
# 而后终端前缀会变成
127.0.0.1:6379>
# 应用一下
127.0.0.1:6379> set name pjjlt
OK
127.0.0.1:6379> get name
"pjjlt"
- 其余机器 (你的个人电脑) 可视化客户端应用
间接说吧,应用 Redis Desktop Manager
能够连贯并保护数据。
- 其余机器(你的个人电脑)cli 客户端应用
在你个人电脑,关上 cmd,利用 redis-cli
连贯 redis 服务,发现 gg。这时,须要在咱们 Linux 服务器 上关上防火墙,利用iptables
。
iptables 其实不是真正的防火墙,咱们能够把它了解成一个客户端代理,用户通过 iptables 这个代理,将用户的平安设定执行到对应的 ” 平安框架 ” 中,这个 ” 平安框架 ” 才是真正的防火墙,这个框架的名字叫 netfilter。
装置并应用 iptables
# 敞开防火墙
systemctl stop firewalld
# 装置
yum install iptables-services
# 启动
systemctl enable iptables
# 关上
systemctl start iptables
# 裸露端口配置
iptables -I INPUT -p tcp -m tcp --dport 6379 -j ACCEPT
# 保留配置
service iptables save
# 重启 iptables 服务
service iptables restart
# 查看下 iptable 配置
iptables -L -n -v
# 发现 6379 端口裸露进来了
21169 1657K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:6379
ok,至此,其余机器上的 cli 也能够拜访咱们的 Redis 服务了。