redis服务的部署_redis 部署,Linux运维面试题集锦在这里


在文件夹 7000 至 7006中, 各创建一个 redis.conf 文件, 文件的内容可以使用上面的示例配置文件, 但记得将配置中的端口号从 7000 改为与文件夹名字相同的号码。  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210117225124782.png)


下面是一个最少选项的集群的配置文件:



[root@server1 ~]# cd 7000/
[root@server1 7000]# vim redis.conf
port 7000
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
daemonize yes


文件中的 cluster-enabled 选项用于开实例的集群模式, 而 cluster-conf-file 选项则设定了保存节点配置文件的路径, 默认值为 nodes.conf.节点配置文件无须人为修改, 它由 Redis 集群在启动时创建, 并在有需要时自动进行更新。  
 要让集群正常运作至少需要三个主节点,不过在刚开始试用集群功能时, 强烈建议使用六个节点: 其中三个为主节点, 而其余三个则是各个主节点的从节点。


打开实例



[root@server1 7000]# redis-server redis.conf


用ps ax 查看进程,查看cluster是否创建成功  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210117225847509.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1N1bl9fcw==,size_16,color_FFFFFF,t_70)  
 (2) 搭建集群  
 现在我们已经有了7正在运行中的 Redis 实例, 接下来我们需要使用这些实例来创建集群, 并为每个节点编写配置文件。  
 通过使用 Redis 集群命令行工具 redis-trib , 编写节点配置文件的工作可以非常容易地完成: redis-trib 位于 Redis 源码的 src 文件夹中, 它是一个 Ruby 程序, 这个程序通过向实例发送特殊命令来完成创建新集群, 检查集群, 或者对集群进行重新分片(reshared)等工作。



[root@server1 ~]# redis-cli --cluster create --cluster-replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005


这个命令在这里用于创建一个新的集群, 选项–replicas 1 表示我们希望为集群中的每个主节点创建一个从节点。  
 之后跟着的其他参数则是这个集群实例的地址列表,3个master3个slave redis-trib 会打印出一份预想中的配置给你看, 如果你觉得没问题的话, 就可以输入 yes , redis-trib 就会将这份配置应用到集群当中,让各个节点开始互相通讯,最后可以得到如下信息:  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210117231113888.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1N1bl9fcw==,size_16,color_FFFFFF,t_70)![在这里插入图片描述](https://img-blog.csdnimg.cn/20210117231605525.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1N1bl9fcw==,size_16,color_FFFFFF,t_70)  
 这表示集群中的 16384 个槽都有至少一个主节点在处理, 集群运作正常。


#### 3.使用集群


测试 Redis 集群比较简单的 redis-cli , 接下来我们将使用 redis-cli 为例来进行演示:  
 三主信息



[root@server1 ~]# redis-cli --cluster info 127.0.0.1:7000
127.0.0.1:7000 (fb6af12f…) -> 0 keys | 5461 slots | 1 slaves.
127.0.0.1:7001 (e27ba0ce…) -> 0 keys | 5462 slots | 1 slaves.
127.0.0.1:7002 (6441e2ec…) -> 0 keys | 5461 slots | 1 slaves.
[OK] 0 keys in 3 masters.
0.00 keys per slot on average.



[root@server1 ~]# redis-cli -c -p 7000


![在这里插入图片描述](https://img-blog.csdnimg.cn/20210117232325377.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1N1bl9fcw==,size_16,color_FFFFFF,t_70)


### 七、结合数据库


部署和之前一样,可看文章开头部署。  
 这里用到server1 server2 server3


以下实验所以需要的包链接: 需要的软件包及依赖 提取码: hend



[root@server2 ~]# tar zxf redis-5.0.8.tar.gz
[root@server2 ~]# cd redis-5.0.8/
[root@server2 redis-5.0.8]# yum install gcc-c++ -y
[root@server2 redis-5.0.8]# make & make install
[root@server2 utils]# ./install_server.sh


server1



root@server1 ~]# yum install -y httpd php php-mysql.x86_64 php-redis
[root@server1 ~]# cd /var/www/html/
get test.php
[root@server1 html]# vim test.php

<?php $redis = new Redis(); $redis->connect('172.25.3.2',6379) or die ("could net connect redis server"); # $query = "select * from test limit 9"; $query = "select * from test"; for ($key = 1; $key < 10; $key++) { if (!$redis->get($key)) { $connect = mysql_connect('172.25.3.3','redis','westos'); mysql_select_db(test); $result = mysql_query($query); //如果没有找到$key,就将该查询sql的结果缓存到redis while ($row = mysql_fetch_assoc($result)) { $redis->set($row['id'],$row['name']); } $myserver = 'mysql'; break; } else { $myserver = "redis"; $data[$key] = $redis->get($key); } } echo $myserver; echo "
"; for ($key = 1; $key < 10; $key++) { echo "number is $key"; echo "
"; echo "name is $data[$key]"; echo "
"; } ?>

[root@server1 html]# systemctl start httpd.service
get php-devel-5.4.16-46.el7.x86_64.rpm
[root@server1 html]# yum install php-devel-5.4.16-46.el7.x86_64.rpm -y
mirror rhel7
[root@server1 ~]# cd rhel7/
[root@server1 rhel7]# yum install php-pecl-redis-2.2.8-1.el7.x86_64.rpm php-fpm-5.4.16-46.el7.x86_64.rpm php-pecl-igbinary-1.2.1-1.el7.x86_64.rpm -y


![在这里插入图片描述](https://img-blog.csdnimg.cn/20210311105442113.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1N1bl9fcw==,size_16,color_FFFFFF,t_70)


server3:mysql



[root@server3 ~]# yum install mariadb-server -y
[root@server3 ~]# systemctl start mariadb.service
get test.sql
[root@server3 ~]# vim test.sql
use test;
CREATE TABLE test (id int(7) NOT NULL AUTO_INCREMENT, name char(8) DEFAULT NULL, PRIMARY KEY (id)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO test VALUES (1,‘test1’),(2,‘test2’),(3,‘test3’),(4,‘test4’),(5,‘test5’),(6,‘test6’),(7,‘test7’),(8,‘test8’),(9,‘test9’);

#DELIMITER $$
#CREATE TRIGGER datatoredis AFTER UPDATE ON test FOR EACH ROW BEGIN

SET @RECV=gman_do_background(‘syncToRedis’, json_object(NEW.id as id, NEW.name as name));

END$$

#DELIMITER ;
[root@server3 ~]# mysql < test.sql
[root@server3 ~]# mysql
grant all on test.* to redis@‘%’ identified by ‘westos’;


![在这里插入图片描述](https://img-blog.csdnimg.cn/20210311105525919.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1N1bl9fcw==,size_16,color_FFFFFF,t_70)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210311105501596.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1N1bl9fcw==,size_16,color_FFFFFF,t_70)  
 到这里,我们已经实现了 redis 作为 mysql 的缓存服务器,但是如果更新了 mysql,redis


**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**


**深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**


**因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**  
 ![img](https://img-blog.csdnimg.cn/img_convert/48755f0b46bcf1b0b2bc0387a7910b40.png)  
 ![img](https://img-blog.csdnimg.cn/img_convert/ac3764f416213dc497c83b302a94113a.png)  
 ![img](https://img-blog.csdnimg.cn/img_convert/ab71e509053b87d6266e0b9854ac6cdc.png)  
 ![img](https://img-blog.csdnimg.cn/img_convert/c276ca57d7f9455fe450ea3725ecf99e.png)  
 ![img](https://img-blog.csdnimg.cn/img_convert/f01027388a0e65509a4252c980d1706c.png)


**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!**


**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**


**如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)**  
 ![img](https://img-blog.csdnimg.cn/img_convert/203592ecdf0033858a1105a1293e32ac.jpeg)


![](https://img-blog.csdnimg.cn/img_convert/9a8cb5f8c0ec69e6499adead0da6e95b.png)


最全的Linux教程,Linux从入门到精通


======================


1. **linux从入门到精通(第2版)**
2. **Linux系统移植**
3. **Linux驱动开发入门与实战**
4. **LINUX 系统移植 第2版**
5. **Linux开源网络全栈详解 从DPDK到OpenFlow**


![华为18级工程师呕心沥血撰写3000页Linux学习笔记教程](https://img-blog.csdnimg.cn/img_convert/59742364bb1338737fe2d315a9e2ec54.png)


第一份《Linux从入门到精通》466页


**先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前在阿里**

**深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。**
![img](https://img-blog.csdnimg.cn/img_convert/18dcc81113a741f99de9997002b98089.png)
![img](https://img-blog.csdnimg.cn/img_convert/e33fc227a359054675cad60825b03fde.png)
![img](https://img-blog.csdnimg.cn/img_convert/b6dc3dd731ce34a30254b73c09ac482a.png)
![img](https://img-blog.csdnimg.cn/img_convert/7dffac8e4d09ed1e8921ee3542105e9a.png)
![img](https://img-blog.csdnimg.cn/img_convert/583e768bfc4cca453f46ad31c1ffbb5a.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**

739)]
[外链图片转存中...(img-QAfURrpp-1714162117739)]

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**

  • 18
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在MySQL和Redis运维面试中,可能会涉及到以下一些常见问题和主题: 1. 数据库备份和恢复:你可以使用mysqlbinlog命令来备份和恢复MySQL二进制日志文件。此外,你可能还需要了解如何使用Redis的持久化功能进行备份和恢复。 2. 负载均衡和高可用性:了解如何配置MySQL和Redis的负载均衡,以及如何实现高可用性的方案,比如使用LVS、HAProxy、Keepalived等工具。 3. 监控和性能调优:了解如何使用工具监控MySQL和Redis的性能,并进行相应的性能调优操作。例如,可以使用zabbix、Prometheus等工具进行监控,可以使用slow query日志来识别慢查询,并使用索引和优化查询语句来提高性能。 4. 主从复制和高可用性:了解如何配置MySQL的主从复制,并了解如何检查复制状态。可以使用类似于"show slave status\G"命令来检查Slave_IO_Running和Slave_SQL_Running状态。 5. 数据库模式设计和架构:了解如何设计和规划数据库模式,包括表的拆分、索引的设计等。对于需要短时间响应的查询操作,可能需要考虑使用NoSQL数据库,因为它们在此方面通常更具优势。 6. 缓存和性能优化:了解如何使用Redis作为缓存来提高数据库性能,以及如何在应用程序中正确使用Redis缓存。 7. 容灾和灾难恢复:了解如何设置数据库容灾和灾难恢复方案,包括备份和恢复计划、故障切换和数据恢复。 8. 安全性和权限管理:了解如何设置数据库的安全性措施,包括用户权限管理、访问控制、加密和审计。 这些是一些可能在MySQL和Redis运维面试中会涉及到的主题和问题。当然,具体的面试题目可能会因面试者的需求和公司的要求而有所不同。在准备面试时,建议深入研究和理解这些主题,并结合自己的实际经验来回答问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值