IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Centos 7.9下源码安装Redis -> 正文阅读

[大数据]Centos 7.9下源码安装Redis

1. 前言

Redis是现阶段使用非常广泛的一个高性能的key-value数据库。日前因遇到需要Redis的双机灾备方案,在实操阶段将整个流程整理如下。

Redis与其他key-value数据库相比有以下特点:

  • Redis支持数据数据化,可以将内存中的数据保存到磁盘中,重启的时候可以再次加载使用;
  • Redis不仅仅支持key-value类型数据,同时还支持list,set,zset,hash等数据结构的存储;
  • Redis支持数据的备份,即master-slave模式的备份。

2. 基础环境

操作系统版本:Centos 7.9

操作系统主机名:region01

操作系统IP:192.168.158.11

Redis版本:redis-5.0.9


操作系统需要可以联网,以下操作均在可连接互联网的情况下操作。

3. 编译安装

3.1 下载Redis对应版本的源码包

在进行安装以前,需要提前下载redis-5.0.9的源码包。如果操作系统可以联网,可直接按照下述步骤操作。
如果操作系统不能联网,请自行下载redis源码包,并上传到操作系统中。

# 请提前安装wget、gcc及其他依赖
[root@region01 soft]# yum -y install wget gcc make tcl
[root@region01 soft]# wget http://download.redis.io/releases/redis-5.0.9.tar.gz
# 此命令会将源码包下载到服务器当前路径下,我这的路径是:/data/soft
# 下载完成后,确认redis源码包已存在
[root@region01 soft]# ll -h redis-5.0.9.tar.gz

source_code

3.2 解压并编译安装Redis

# 解压下载的源码包redis-5.0.9.tar.gz
[root@region01 soft]# tar -zvxf redis-5.0.9.tar.gz
# 查看解压后的内容并进入解压后目录
[root@region01 soft]# ll -h
[root@region01 soft]# cd redis-5.0.9

unzip_tar

# 编译安装redis-5.0.9,指定redis编译后目录在/usr/local/redis
[root@region01 redis-5.0.9]# make && make PREFIX=/usr/local/redis install
# 设置软连接到环境变量(注意路径需要使用绝对路径)
[root@region01 redis-5.0.9]# ln -sf /usr/local/redis/bin/* /usr/local/bin/

在这里插入图片描述

3.3 编辑Redis配置文件,启动Redis-server服务

在启动Redis-server以前,需要先行边界redis.conf文件,来进行一些基础的配置。

# 创建/etc/redis目录
[root@region01 redis-5.0.9]# mkdir -p /etc/redis
# 在/etc/redis目录下配置redis.conf文件(redis服务的配置文件)。
# 具体配置项可参照/data/soft/redis-5.0.9/redis.conf。
# 其中重点关注以下参数:
# dir 表示数据持久化路径
# logfile 表示日志文件路径
# bind 可访问此redis服务的ip,可直接写成bind 0.0.0.0
# daemonize 表示是否后台启动
# requirepass 表示redis服务的密码
# appendonly 表示是否开启AOF持久化
# 以下为当前例子的redis.conf可直接粘贴使用
[root@region01 redis]# cat /etc/redis/redis.conf
# 以下为redis.conf具体内容
port 6379
bind 0.0.0.0
daemonize yes
databases 16
requirepass "78e13a"
always-show-logo yes
save 900 1
save 300 10
save 60 10000
dbfilename dump.rdb
dir /data/redis/data
appendonly yes
logfile "/data/redis/logs/redis.log"
protected-mode no
appendfilename "appendonly.aof"
# replicaof <masterip> <masterport>
masterauth 78e13a
replica-priority 100
# replica-announce-ip 5.5.5.5
# replica-announce-port 26379
timeout 0
tcp-keepalive 300
supervised no
pidfile /var/run/redis_6379.pid
loglevel notice
replica-lazy-flush no
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
# repl-ping-replica-period 10
# repl-timeout 60
repl-disable-tcp-nodelay no
# repl-backlog-ttl 3600
# min-replicas-to-write 1
# min-replicas-max-lag 10
# maxclients 10000
# maxmemory <bytes>
# maxmemory-policy noeviction
# replica-ignore-maxmemory yes
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble yes
lua-time-limit 5000
slowlog-log-slower-than 100000
slowlog-max-len 128
latency-monitor-threshold 0
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
stream-node-max-bytes 4096
stream-node-max-entries 100
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit replica 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
# proto-max-bulk-len 512mb
hz 10
dynamic-hz yes
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes

3.4 启动redis服务

指定redis.conf配置文件,直接后台启动redis-server。

注意此处使用的redis密码为: 78e13a

# 启动脚本
[root@region01 redis]# redis-server /etc/redis/redis.conf
# 通过6379端口,查看服务是否启动
[root@region01 redis]# ss -tnlp|grep 6379

redis_startup
显示如上图表示redis服务启动成功

3.5 向systemctl管理工具注册redis服务

平常见到的启停服务都是通过systemctl工具进行启停的,那redis服务能否通过相同的方法启停呢?答案是肯定的。

可直接按照以下步骤,完成Redis的注册。

# 编辑systemctl服务配置文件
[root@region01 utils]# vim /usr/lib/systemd/system/redis.service
# 以下均为redis.service内容
[Unit]
Description=Redis
After=network.target
 
[Service]
Type=forking
PIDFile=/var/run/redis_6379.pid
# `请据实修改redis-server及redis.conf路径`
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
 
[Install]
WantedBy=multi-user.target

init_redis

# 重载systemctl服务
[root@region01 utils]# systemctl daemon-reload
# 检查redis是否可用systemctl管理
# 确认redis服务未启动
[root@region01 utils]# ss -tnlp|grep 6379
# 使用systemctl启动redis服务
[root@region01 utils]# systemctl start redis
# 使用systemctl查看redis服务状态
[root@region01 utils]# systemctl status redis
# 确认redis服务已启动
[root@region01 utils]# ss -tnlp|grep 6379
# 如果上述命令运行结果如下图,则证明redis注册成功。

check_redis

3.6 Redis常用命令

下面是例举的一些Redis常用的命令

# 服务器进入redis服务:
# -h 表示redis服务IP
# -p 表示redis服务端口
[root@region01 ~]# redis-cli -h 192.168.158.11 -p 6379
# 进入redis,常用命令如下:
# auth password 进行身份认证
192.168.158.11:6379> auth 78e13a
OK
# keys * 显示redis里所有的key
192.168.158.11:6379> keys *
1) "test3"
2) "test1"
3) "test2"
4) "test0"
# select 切换数据库
192.168.158.11:6379> select 9
OK
# flushall 清除所有数据库数据
# flushdb 只清楚当前数据库数据
192.168.158.11:6379[9]> flushall
OK
192.168.158.11:6379[9]> keys *
(empty list or set)
# set 设置key-value对
192.168.158.11:6379[9]> set test_now nosql
OK
# get 查看key对应的value
192.168.158.11:6379[9]> get test_now
"nosql"
# exit 退出redis
192.168.158.11:6379[9]> exit
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-09-07 10:53:46  更:2021-09-07 10:54:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:21:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码