一款由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.9makemake 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.confcp redis.conf /usr/local/cd..# 应用vim 查看并批改redis.confvim redis.conf
批改配置文件
咱们应用vim
批改局部参数,其余默认就好。
# 主机地址,默认是127.0.0.1,批改成0.0.0.0bind 0.0.0.0# 端口 默认就好port 6379# 是否开启为守护线程,默认是no,改成yesdaemonize 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 pjjltOK127.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服务了。