如果make失败,需要手动升级gcc版本(redis5以下的不需要升级)
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
echo “source /opt/rh/devtoolset-9/enable” >> /etc/profile ## gcc版本永久生效
2、安装redis
make install PREFIX=/usr/local/redis
3、拷贝redis.conf
mkdir /usr/local/redis/etc
cp redis.conf /usr/local/redis/etc
4、启动redis
nohup /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf 2>&1 &
三、redis环境配置
1、配置环境变量
在 /etc/profile 后添加
REDIS_HOME=/usr/local/redis/
PATH= P A T H : PATH: PATH:REDIS_HOME/bin
2、开机自启配置
在 /etc/rc.local 下添加
echo never > /sys/kernel/mm/transparent_hugepage/enabled
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
3、其他配置
注释掉绑定ip,允许远程连接
bind 127.0.0.1 # 注释掉这句
允许后台运行
daemonize yes
关闭保护模式,否则外部ip无法连接
protected-mode no
防火墙开启redis端口,默认6379
firewall-cmd --add-port=6379/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-ports
内存设置
echo 8192 > /proc/sys/net/core/somaxconn ## 最大内存8G
sysctl vm.overcommit_memory=1 ## 内存超出时开辟内存
/etc/sysctl.conf 文件添加
vm.overcommit_memory = 1
密码设置 redis.conf 文件下添加
requirepass 123456
不重启设置密码(永久有效),登录之后输入
config set requirepass 123456
查询密码
config get requirepass
验证密码
auth 123456
登录时,验证登录输入一下
auth 123456
4、redis关闭方法
redis-cli shutdown
ps -ef | grep redis | grep -v grep | awk ‘{print $2}’ | xargs kill -9
redis-cli -h 127.0.0.1 -p 6379 shutdown
四、redis系统服务
1、redis添加到系统服务
vi /lib/systemd/system/redis.service
[Unit]
Description=The redis-server Process Manager
Documentation=https://redis.io/
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
ExecStop=/usr/local/redis/bin/redis-cli shutdown
[Install]
WantedBy=multi-user.target
2、redis系统服务命令
systemctl enable redis
systemctl start redis
systemctl stop redis
systemctl status redis
五、redis JavaAPI
1、Maven配置
redis.clients
jedis
3.1.0
2、java连接 redis
import redis.clients.jedis.Jedis;
Jedis jedis = new Jedis(“localhost”);
jedis.auth(“123456”);
jedis.set(“mmsi”, “123456789”);
//存储数据到列表中
jedis.lpush(“site-list”, “Runoob”);
jedis.lpush(“site-list”, “Google”);
jedis.lpush(“site-list”, “Taobao”);
// 获取存储的数据并输出
List list = jedis.lrange(“site-list”, 0 ,2);
for(int i=0; i<list.size(); i++) {
System.out.println("列表项为: "+list.get(i));
}
// 获取数据并输出
Set keys = jedis.keys(“*”);
Iterator it=keys.iterator() ;
while(it.hasNext()){
String key = it.next();
System.out.println(key);
}
3、redis连接池
package com.xtd.utils.redis;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import java.util.Set;
public class RedisUtil {
private static JedisPool jedisPool;
private String ip = “127.0.0.1”;
private Integer port;
private Integer maxIdle;
private Long maxWait;
public RedisUtil(Integer port) {
this.port = port;
this.maxIdle = 10;
this.maxWait = -1L;
initJedisPool();
}
public RedisUtil(String ip, Integer port) {
this.ip = ip;
this.port = port;
this.maxIdle = 10;
this.maxWait = -1L;
initJedisPool();
}
public RedisUtil(String ip, Integer port, Integer maxIdle, Long maxWait) {
this.ip = ip;
this.port = port;
this.maxIdle = maxIdle;
this.maxWait = maxWait;
initJedisPool();
}
public Jedis getJedis() {
return jedisPool.getResource();
}
private void initJedisPool() {
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxIdle(maxIdle);
config.setMaxWaitMillis(maxWait);
config.setMaxTotal(10000);
jedisPool = new JedisPool(config, ip, port, 60000);
}
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!
这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。
本份面试集锦涵盖了
- 174 道运维工程师面试题
- 128道k8s面试题
- 108道shell脚本面试题
- 200道Linux面试题
- 51道docker面试题
- 35道Jenkis面试题
- 78道MongoDB面试题
- 17道ansible面试题
- 60道dubbo面试题
- 53道kafka面试
- 18道mysql面试题
- 40道nginx面试题
- 77道redis面试题
- 28道zookeeper
总计 1000+ 道面试题, 内容 又全含金量又高
- 174道运维工程师面试题
1、什么是运维?
2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?
3、现在给你三百台服务器,你怎么对他们进行管理?
4、简述raid0 raid1raid5二种工作模式的工作原理及特点
5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?
6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?
7、Tomcat和Resin有什么区别,工作中你怎么选择?
8、什么是中间件?什么是jdk?
9、讲述一下Tomcat8005、8009、8080三个端口的含义?
10、什么叫CDN?
11、什么叫网站灰度发布?
12、简述DNS进行域名解析的过程?
13、RabbitMQ是什么东西?
14、讲一下Keepalived的工作原理?
15、讲述一下LVS三种模式的工作过程?
16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
17、如何重置mysql root密码?
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
什么区别?工作中你怎么选择?
6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?
7、Tomcat和Resin有什么区别,工作中你怎么选择?
8、什么是中间件?什么是jdk?
9、讲述一下Tomcat8005、8009、8080三个端口的含义?
10、什么叫CDN?
11、什么叫网站灰度发布?
12、简述DNS进行域名解析的过程?
13、RabbitMQ是什么东西?
14、讲一下Keepalived的工作原理?
15、讲述一下LVS三种模式的工作过程?
16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
17、如何重置mysql root密码?
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-NG79cgqM-1712842670004)]