avatar

目录
CentOS 7 上部署 Redis

Redis

Redis 是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的 API。它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止redis支持的键值数据类型如下字符串、列表(lists)、集合(sets)、有序集合(sorts sets)、哈希表(hashs)。

应用场景

  1. 缓存(数据查询、短连接、新闻内容、商品内容等等)。(最多使用
  2. 分布式集群架构中的session分离。
  3. 聊天室的在线好友列表。
  4. 任务队列。(秒杀、抢购、12306等等)
  5. 应用排行榜。 
  6. 网站访问统计。 
  7. 数据过期处理(可以精确到毫秒)

第一步

安装gcc,redis是c编写的,gcc编译c的,所以我们先安装下gcc

Code
1
yum install gcc-c++

这些库是系统中不一定会有的,提示缺失再安装也可以;一般情况下都有

查看是否安装了gcc-c++直接执行 ③;如果③报错的话就要安装

下面是一些扩展的知识

①查看所有的已安装软件名称(前提是必须是yum安装)

Code
1
rpm -qa

②显示软件的安装路径

Code
1
rpm -ql 软件名称

③列出所有安装的 软件

Code
1
rpm -qa | grep gcc-c++ # 查看安装的gcc-c++

④软件是否安装

Code
1
rpm -q | grep gcc-c++-4.8.5-39.el7.x86_64

这一步如果报错的说明就要安装gcc-c++

⑤查看软件所有安装包的文件存储位置

Code
1
rpm -qal |grep 软件名称
Code
1
2
3
# 这几条命令中用到的 q ———— 表示查询 query,后面可以跟其他选项
# a ———— 表示全部 all
# l ———— 表示列表 list

第二步

①下载redis 在/usr/local/目录下

Code
1
2
cd /usr/local/
wget http://download.redis.io/releases/redis-5.0.4.tar.gz

②解压

Code
1
tar -zxvf redis-5.0.4.tar.gz

③编译

Code
1
cd redis-5.0.4  # 进入到 redis 目录下

④安装

Code
1
2
mkdir -p /usr/loacl/redis  # 创建 redis 目录
make PREFIX=/usr/local/redis install # 安装到 /usr/local/ 目录下

这时Redisbin 目录下有以下几个文件

redis-benchmark——> 性能测试工具

redis-check-rdb ——>RDB文件修复工具

redis-sentinel——>redis集群管理工具

redis-check-aof ——> AOF文件修复工具

redis-cli ——>Redis 客户端

redis-server ——>Redis 服务器启动命令

⑤拷贝 redis-5.0.5目录下的redis.conf

Code
1
cp redis.conf /usr/local/redis/bin

⑥编译redis.conf

Code
1
vi /usr/local/redis/redis.conf

修改以下内容

Code
1
2
3
4
5
6
7
protected-mode no      # 关闭保护模式,不然会阻止远程访问
daemonize no # 后台启动
bind 0.0.0.0 # 绑定端口 改为 0.0.0.0 或直接注释掉
appendonly yes # 持久化存储方式
appendfsync everysec # 选择aof持久化的策略
requirepass 123456 # 注释取消掉设置账号密码 123456 自己设置的密码
dir /usr/local/redis/redisdb # 这是修改后的 原本为 dir ./ 意思是设置缓存文件生成和读取的目录 对应的创建目录

第三步

配置安全组

我用的是阿里云服务器,所以要去服务器实例配置安全组,详情请看上一篇https://jack-roc.github.io/2018/03/15/MySQL/>'部署MySQL.👈👈

运行Redis

Code
1
./bin/redis-server ./redis.conf   # 后面这个redis.config 是指定这个配置启动

如果出现图像化界面说明已将成功了

或者可以产看后台redis是否在运行

Code
1
ps aux | grep redis

进入Redis客户端

Code
1
./bin/redis-cli

如果你想要存入中文,或者其他要用中文的话,输入以下命令

Code
1
./bin/redis-cli --raw   # 如果你输入上面那个命令存入中文会乱码

如果你想关闭Redis进程 在redis-cli客户端输入下面的命令

Code
1
shutdown  # 或者 kill -9 进程号  直接杀死

如果设置了密码 需要加上参数 -a 密码 ,否则提示权限不足

Code
1
./redis-cli -h 192.168.25.12  -a 密码

设置Redis服务器开机自启动

centos7系统中有不同类型的程序,一类是操作系统的服务程序,另一类是第三方程序,而redis就是第三方程序,每次关机后开机都要手工重新启动,很麻烦,那么如何把redis设置为开机自启动,以下将通过新建脚本的方式实现redis开机自启动。

①去/usr/lib/systemd/system/目录下, 创建redis.service 文件

Code
1
2
3
cd /usr/lib/systemd/system/
touch redis.service
vi redis.service

填写内容如下

Code
1
2
3
4
5
6
7
8
[Unit]
Description=redis.service
Wants=network.target
[Service]
Type=simple
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
[Install]
WantedBy=multi-user.target

相关参数

Description:描述服务

After:描述服务类别

Type=forking是后台运行的形式

ExecStart为服务的具体运行命令

ExecReload为重启命令

ExecStop为停止命令

PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3

②设置开机启动

启动redis服务

Code
1
systemctl start redis

查看redis服务的状态

Code
1
systemctl status redis

查看redis的运行信息

Code
1
2
3
ps -aux|grep redis

netstat -tunple

设置开机自启

Code
1
systemctl enable redis

修改配置后重载系统服务

Code
1
systemctl daemon-reload

重启Redis

Code
1
systemctl restart redis

取消开机自启动redis服务

Code
1
systemctl disable redis

查看所有已启动的服务

Code
1
systemctl list-units --type=service

配置日志文件

配置日志的作用就是便于开发、测试、debug等等

redis.conf中配置 logfile

Code
1
logfile "/usr/local/redis/redis.log"

远程访问Redis

以下命令本机必须在本机装了Redis下进行的

连接Redis服务器

①简单的连接

Code
1
redis-cli -h Ip     # Redis服务器的IP地址

连接成功后,可以输入一些简单的命令如

Code
1
ping   # 他会给你返回一个 PONG
Code
1
info    # 会返回一些如Redis服务器,Redis客户端信息等

②或者加上端口

Code
1
redis-cli -h Ip -p 3679    # Redis服务器的IP地址

③ 如果你设置了密码的话使用下面的方式连接

Code
1
2
3
redis-cli -h Ip -p 6379 -a "123456"   # Ip——> 
# | | |
#Redis服务器的IP地址 端口 设置的密码

知识点

Redis 持久化

在这里插入图片描述

在这里插入图片描述

RDB(注重结果)

优势

在这里插入图片描述

劣势

在这里插入图片描述

AOF(注重过程)

AOF默认没有打开,需要手动打开。

优势

在这里插入图片描述

劣势

在这里插入图片描述

配置AOF

配置信息

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

策略的选择:

在这里插入图片描述

Snapshotting配置说明

快照参数设置

在这里插入图片描述

在这里插入图片描述

文章作者: Jack-Roc
文章链接: http://jack-roc.top/2018/03/23/Redis/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Jack-Roc
打赏
  • 微信
    微信
  • 支付寶
    支付寶