部署堡垒机3——编译安装redis-6.2.1以上版本
Redis官网:https://redis.io/download/
历史版本:http://download.redis.io/releases/
1、安装依赖
yum -y install gcc gcc-c++ make cmake lrzsz
yum -y install centos-release-scl jemalloc-devel
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
安装redis后默认会安装在 /usr/local/bin目录下
cd /opt/
tar -zxvf redis-6.2.10.tar.gz
cd /opt/redis-6.2.10/
gcc --version #确保高版本号8以上
#./config --prefix=/usr/local/bin #一般情况下,有config配置文件的时候,指定安装路径这样设置
make
make install PREFIX=/opt/redis #指定安装路径 不指定默认路径为 /usr/local/bin
cd /opt/redis/bin
ls
安装完毕后需要先修改一下配置文件,再拷贝一下配置文件到/etc/下,一般情况下我们习惯把配置文件写在/etc/下
# 根据你的需求配置redis.conf,选择性修改
cp /opt/redis-6.2.10/redis.conf /etc/redis.conf
sed -i "s/bind 127.0.0.1/bind 0.0.0.0/g" /etc/redis.conf #不能远程登录——修改这里
sed -i "s/daemonize no/daemonize yes/g" /etc/redis.conf #不能后台启动——修改这里
sed -i "561i maxmemory-policy allkeys-lru" /etc/redis.conf #设置内存淘汰策略
sed -i "904i requirepass www.chaoge666.com" /etc/redis.conf #给redis改密,忘记密码后不能登录——修改这里
# 其他参数:
protected-mode no 允许外界访问
我们想要其他机连接我们的Redis服务,有三种方式:
想办法让Redis运行在protected-mode为no的模式。
如果protected-mode为yes,那么我们可以在Redis服务上设置bind,也就是我们的一台机器有几个ip,指定我们的服务绑定监听本机的哪个ip。
如果protected-mode为yes,除了设置bind外,亦可通过设置密码的形式,也即是设置参数requirepass,从而达到可以从其他机器访问的目标。
实践总结
我们在redis的配置文件中会遇到protected-mode,它直译为保护模式。
如果设置为yes,那么只允许我们在本机的回环连接,其他机器无法连接。
线上Redis服务,为了安全,我们建议将protected-mode设置为yes。
protected-mode设置为yes的情况下,为了我们的应用服务可以正常访问Redis,我们需要设置Redis的bind参数或者密码参数requirepass。
导入环境变量或使用软连接,使得命令可直接命令执行
先source /etc/profile
## 在 /etc/profile 后添加
REDIS_HOME=/opt/redis/bin
PATH=$PATH:$REDIS_HOME
再source /etc/profile
#或者用软连接的方法,例:
ln -sf /opt/redis/bin/redis-server /usr/bin/redis-server #需要默认在/usr/bin/下创建redis的软连接
ln -sf /opt/redis/bin/redis-cli /usr/bin/redis-cli
#还是导入变量的方式比较方便
执行redis的方法
# 没有导入环境变量的时候,需要进入到安装目录下执行./redis-server或./redis-cli
/opt/redis/bin/
./redis-server /etc/redis.conf
./redis-cli ping
# 导入环境变量后,可以在任意目录下执行
redis-server /etc/redis.conf
redis-cli ping
关闭redis的相关方法
# 查看进程ID的方法关闭后台进程
ps -ef | grep redis
kill -9 186837
# 没有导入环境变量的方法,进入到安装目录下执行
cd /opt/redis/bin
./redis-cli shutdown
# 导入环境变量后,执行任意目录下执行
redis-cli shutdown
使redis关联systemctl命令,启动、停用redis
# 使用systemctl命令配置启动脚本 方法1
cat >/etc/systemd/system/redis.service <<EOF
[Unit]
Description=Redis persistent key-value database
After=network.target
After=network-online.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/var/run/redis_6379.pid
ExecStart=/opt/redis/bin/redis-server /etc/redis.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
[Install]
WantedBy=multi-user.target
EOF
# 使用systemctl命令配置启动脚本 方法2
vim /etc/systemd/system/redis.service
[Unit]
Description=The redis-server Process Manager
Documentation=https://redis.io/
After=network.target
[Service]
Type=forking
ExecStart=/opt/redis/bin/redis-server /etc/redis.conf
ExecStop=/opt/redis/bin/redis-cli shutdown
[Install]
WantedBy=multi-user.target
之后就可以用 systemctl 启动 redis 了
# 启动redis
systemctl start redis
systemctl status redis
systemctl enable redis
# 测试redis
[root@db-52 /opt/redis-6.2.10]#/usr/local/redis/bin/redis-cli --version
redis-cli 6.2.10
给redis配置了密码,就会这样
# redis6之后,有加入了ACL,账号密码了新功能。
[root@server01 /opt/redis-6.2.10]#/opt/redis/bin/redis-cli
127.0.0.1:6379> ping
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth default www.chaoge666.com
OK
127.0.0.1:6379>
内存淘汰机制
在Redis5.0中,大神一共提供了多达八种淘汰策略,真爱啊!下面我们就来看看有那些:
1)noeviction:这是默认的淘汰策略,当内存达到限制后,写请求会返回错误(DEL请求可以继续服务),读请求也可以继续进行,这样可以保证不丢失数据,但是会让线上的业务无法持续进行;
2)volatile-lru:在设置了过期时间的键中,优先回收最少使用的键,(LRU:Least Recently Used,最近最少使用);
3)volatile-lfu:在设置了过期时间的键中,优先清除使用频率最少的键(LFU:Least frequently used,最不经常使用);
4)volatile-ttl:在设置了过期时间的键中,优先删除剩余时间最少的键key(TTL:Time To Live);
5)volatile-random:在设置了过期时间的key中,随机删除key;
6)allkeys-lru:在全体key范围内,优先删除最近最少使用的key;
7)allkeys-lfu:在全体key范围内,优先删除使用频率最少的key;
8)allkeys-random:在全体key范围内,随机删除key;
至于使用哪种淘汰策略,这个当然是没有定性要求的,只要结合自身业务场景灵活选用即可。
获取和设置内存淘汰策略的方法
获取当前内存淘汰策略
redis> config get maxmemory-policy
通过配置文件(redis.conf)设置内存淘汰策略
maxmemory-policy allkeys-lru
通过命令设置内存淘汰策略
redis> config set maxmemory-policy allkeys-lru
————————————————
版权声明:本文为CSDN博主「昊说」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/mortal5/article/details/119635321
部署堡垒机3——编译安装redis-6.2.1以上版本的更多相关文章
- 20190418 CentOS7实用技能综合:系统安装 + WinScp客户端连接 + 防火墙端口号iptables + Nginx编译安装 + MySQL编译安装 + Redis编译安装 + MongoDB编译安装 + ActiveMQ/RocketMQ/RabbitMQ编译安装 + ...各类常用生产环境软件的编译安装
系统安装 + WinScp客户端连接 + 防火墙端口号iptables + Nginx编译安装 + MySQL编译安装 + Redis编译安装 + MongoDB编译安装 + ActiveMQ/Roc ...
- Docker容器编译安装Redis
Docker容器编译安装Redis 1.创建容器 -i 交互模式 -d 后端运行 -h 容器的hostname --name 容器名 --network 网卡 --ip IP地址 -p 端口映射 -- ...
- CentOS 7.4 源码编译安装 Redis
一.CentOS 7.4 源码编译安装 Redis 1.下载源码并解压 wget http://download.redis.io/releases/redis-4.0.10.tar.gz tar ...
- Yii2使用Redis - 从安装redis到使用 [ 2.0 版本 ]
Yii2使用Redis - 从安装redis到使用 [ 2.0 版本 ] 一.安装Redis和简单配置 1. 下载Redis安装包 地址:http://redis.io/download , 本文选择 ...
- 开源堡垒机jumpserver的安装
开源跳板机jumpserver安装 简介 Jumpserver 是全球首款完全开源的堡垒机, 使用GNU GPL v2.0 开源协议, 是符合4A 的专业运维审计系统 Jumpserver 使用Pyt ...
- 堡垒机-teleport的安装以及常见问题解决办法
teleport是一款简单易用的堡垒机系统,运用在企业对windows.linux服务器的安全使用管理以及审计. 官网网址:http://teleport.eomsoft.net/ github地址: ...
- Mac Pro 编译安装 Redis 的 PHP 客户端 phpredis
1.去官网下载 redis 扩展源码包 https://github.com/phpredis/phpredis 2.安装 redis 扩展 /usr/local/src/mac-sdk/source ...
- 编译安装redis
一.版本说明 CentOS版本 [root@localhost ~]# uname Linux [root@localhost ~]# uname -r 2.6.32-431.el6.i686 [ro ...
- php扩展redis,编译安装redis服务
首先安装redis扩展 https://github.com/phpredis/phpredis 下载http://redis.io/download 服务软件 cd到软件存放目录unzip phpr ...
- CentOS6.5编译安装Redis
一.首先要检测是否安装gcc yum install gcc-c++ yum install -y tcl 进入redis目录 cd /usr/local/redis .编译安装 make make ...
随机推荐
- SpringBoot 后端配置 Https 教程
以阿里云为例子 1. 申请 SSL 证书 1. 注册域名 打开阿里云官网,搜索域名 点击域名注册,输入域名,点击搜索 选择心仪的域名,点击购买,打钱 进入域名控制台,进行实名认证 2. 申请 SSL ...
- pandas(进阶操作)-- 处理非数值型数据 -- 数据分析三剑客(核心)
博客地址:https://www.cnblogs.com/zylyehuo/ 开发环境 anaconda 集成环境:集成好了数据分析和机器学习中所需要的全部环境 安装目录不可以有中文和特殊符号 jup ...
- c语言代码练习11
//1-100数字中9的数量 #define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h> int main(){ int x = 0; int ...
- MySQL系列之读写分离架构——Atlas介绍、安装配置、Atlas功能测试、生产用户要求、Atlas基本管理、自动分表、关于读写分离建议
文章目录 1. Atlas介绍 2.安装配置 3. Atlas功能测试 4. 生产用户要求 5. Atlas基本管理 6. 自动分表 7. 关于读写分离建议 1. Atlas介绍 Atlas是由 Qi ...
- MySQL系列之——索引作用、索引的种类、B树、聚簇索引构建B树、辅助索引(S)构建B+树、辅助索引细分、索引树的高度、索引的基本管理、执行计划获取及分析、索引应用规范、优化器针对索引、问题汇总
文章目录 一 索引作用 二 索引的种类(算法) 三 B树 基于不同的查找算法分类介绍 B 树 B+树 B*树 四 在功能上的分类 4.1 聚簇索引构建B树(簇就是区) 4.1.1 前提 4.1.2 作 ...
- 基于 Python 和 Vue 的在线评测系统
基于 Docker,真正一键部署 前后端分离,模块化编程,微服务 ACM/OI 两种比赛模式.实时/非实时评判 任意选择 丰富的可视化图表,一图胜千言 支持 Template Problem,可以添加 ...
- 基于ZXing.NET实现的二维码生成和识别客户端
一.前言 ZXing.Net的一个可移植软件包,是一个开源的.多格式的1D/2D条形码图像处理库,最初是用Java实现的.已经过大量优化和改进,它已经被手动移植.它与.Net 2.0..Net 3.5 ...
- android的listview控件,加了行内按钮事件导致行点击失效的问题
近日,修改一个app,原来的listview中只有行点击事件 ListView.setOnItemClickListener(new AdapterView.OnItemClickListener() ...
- 实验1 C语言输入输出和简单程序编写
1.试验任务1 task1.c //打印一个字符小人 #include <stdio.h> int main() { printf(" o \n"); printf(& ...
- 联想think服务器centos系统安装
一.前言 本以为安装服务器是一件轻松顺利的事,没想到一安就是两天- 二.错误列表 1.硬件系统不兼容低版本centos 刚开始安装centos6.8的操作系统总是无法找到配置好的raid阵列导致无法安 ...