【那些年我们用过的Redis】Linux下Redis安装与使用

一款由C编写的开源、基于内存、单线程、可持久化的NoSql数据库。

环境与版本

linux环境为腾讯云单核`CentOS7.2.1511`。
redis版本为5.0.9Redis官方下载地址.

为什么不安装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客户端使用。

  1. 首先看本服务器内使用
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"
  1. 其他机器(你的个人电脑)可视化客户端使用

直接说吧,使用Redis Desktop Manager可以连接并维护数据。

  1. 其他机器(你的个人电脑)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服务了。

你可能感兴趣的:(redis)