返回顶部
首页 > 资讯 > 数据库 >redis服务器环境下mysql如何实现lnmp架构缓存
  • 122
分享到

redis服务器环境下mysql如何实现lnmp架构缓存

2024-04-02 19:04:59 122人浏览 独家记忆
摘要

这篇文章主要为大家展示了“Redis服务器环境下Mysql如何实现lnmp架构缓存”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“redis服务器环境下mysql

这篇文章主要为大家展示了“Redis服务器环境下Mysql如何实现lnmp架构缓存”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“redis服务器环境下mysql如何实现lnmp架构缓存”这篇文章吧。

配置环境:redhat6.5

server1:redis(172.25.254.1)

server2:PHP(172.25.254.2)

server3:mysql(172.25.254.3)

配置步骤:

server2:

1、server2安装php的redis相应模块

redis服务器环境下mysql如何实现lnmp架构缓存

2、nginx安装

[root@server2 php-fpm.d]# rpm -ivh Nginx-1.8.0-1.el6.ngx.x86_64.rpm 
warning: nginx-1.8.0-1.el6.ngx.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 7bd9bf62: NOKEY
Preparing...        ########################################### [100%]
  1:nginx         ########################################### [100%]
----------------------------------------------------------------------
 Thanks for using nginx!
 
Please find the official documentation for nginx here:
* https://nginx.org/en/docs/
Commercial subscriptions for nginx are available on:
* Https://nginx.com/products/
 
----------------------------------------------------------------------
[root@server2 php-fpm.d]# id nginx
uid=498(nginx) gid=499(nginx) groups=499(nginx)

3、nginx和php配置

1、php配置

[root@server2 php-fpm.d]# cd /etc/php-fpm.d/
[root@server2 php-fpm.d]# id nginx
uid=498(nginx) gid=499(nginx) groups=499(nginx)
[root@server2 php-fpm.d]# vim www.conf 
 39 user = nginx
 41 group = nginx
 [root@server2 php-fpm.d]# vim /etc/php.ini
 946 date.timezone = Asia/Shanghai
[root@server2 php-fpm.d]# /etc/init.d/php-fpm start
Starting php-fpm:                     [ OK ]
[root@server2 php-fpm.d]# netstat -antlp | grep php
tcp    0   0 127.0.0.1:9000       0.0.0.0:*          LISTEN   1125/php-fpm    
[root@server2 php-fpm.d]# vim /etc/php.ini

2、nginx配置

[root@server2 ~]# cd /etc/nginx/conf.d/
[root@server2 conf.d]# ls
default.conf example_ssl.conf
[root@server2 conf.d]# vim default.conf 
 10     index index.php index.html index.htm;
 30   location ~ \.php$ {
 31     root      html;
 32     fastcgi_pass  127.0.0.1:9000;
 33     fastcgi_index index.php;
 34     fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script  _name;
 35     include    fastcgi_params;
 36   }
[root@server2 conf.d]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@server2 conf.d]# nginx 
[root@server2 conf.d]# netstat -anplt |grep nginx
tcp    0   0 0.0.0.0:80         0.0.0.0:*          LISTEN   1141/nginx

redis服务器环境下mysql如何实现lnmp架构缓存

php测试

[root@server2 conf.d]# cd /usr/share/nginx/html/
[root@server2 html]# vim index.php
[root@server2 html]# cat index.php 
<!--php
phpinfo()
-->
[root@server2 html]# /etc/init.d/php-fpm reload
Reloading php-fpm: [14-Jul-2018 01:09:13] NOTICE: configuration file /etc/php-fpm.conf test is successful
                              [ OK ]

物理机访问:

redis服务器环境下mysql如何实现lnmp架构缓存

4、php配置redis+mysql

[root@server2 ~]# cd /usr/share/nginx/html/
[root@server2 html]# vim test.php 
  <!--php
      $redis = new Redis();
      $redis--->connect('172.25.254.1',6379) or die ("could net connect redi  s 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.254.3','redis','wes  tos');
             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 "
";
   }
>

5、添加php支持的redis模块

[root@server2 ~]# unzip phpredis-master.zip 
[root@server2 ~]# cd phpredis-master
[root@server2 phpredis-master]# phpize 
Configuring for:
PHP api Version:     20090626
Zend Module Api No:   20090626
Zend Extension Api No:  220090626
[root@server2 phpredis-master]# ls
acinclude.m4  config.sub   library.c     README.markdown
aclocal.m4   configure    library.h     redis.c
autom4te.cache configure.in  ltmain.sh     redis_session.c
build      CREDITS     Makefile.global  redis_session.h
common.h    debian     missing      run-tests.php
config.guess  debian.control mkdeb-apache2.sh serialize.list
config.h.in   igbinary    mkinstalldirs   tests
config.m4    install-sh   php_redis.h
[root@server2 phpredis-master]# ./configure 
[root@server2 phpredis-master]# make && make install 
[root@server2 ~]# cd /etc/php.d/
[root@server2 php.d]# ls
curl.ini   JSON.ini   mysql.ini   pdo_sqlite.ini zip.ini
fileinfo.ini mbstring.ini pdo.ini    phar.ini
gd.ini    mysqli.ini  pdo_mysql.ini sqlite3.ini
[root@server2 php.d]# cp mysql.ini redis.ini
[root@server2 php.d]# vim redis.ini 
 2 extension=redis.so
 [root@server2 php.d]# /etc/init.d/php-fpm reload
Reloading php-fpm: [14-Jul-2018 01:21:56] NOTICE: configuration file /etc/php-fpm.conf test is successful
                              [ OK ]
[root@server2 php.d]# php -m |grep redis
redis
server3:mysql配置

1、安装mysql-server

[root@server3 ~]# rpm -qa | grep mysql
mysql-commUnity-common-5.7.17-1.el6.x86_64
mysql-community-client-5.7.17-1.el6.x86_64
mysql-community-libs-compat-5.7.17-1.el6.x86_64
mha4mysql-node-0.56-0.el6.noarch
mysql-community-libs-5.7.17-1.el6.x86_64
mysql-community-server-5.7.17-1.el6.x86_64
[root@server3 ~]# rpm -e `rpm -qa|grep mysql` --nodeps  ##不考虑依赖性删除mysql
warning: /etc/my.cnf saved as /etc/my.cnf.rpmsave
[root@server3 ~]# rpm -qa | grep mysql
[root@server3 ~]# cd /var/lib/mysql/
[root@server3 mysql]# rm -fr *
[root@server3 mysql]# ls
[root@server3 mysql]# yum install -y mysql-server ##安装

2、开启mysql,并导入测试数据库

[root@server3 ~]# /etc/init.d/mysqld start
[root@server3 ~]# mysql < test.sql
[root@server3 ~]# mysql < test.sql 
[root@server3 ~]# cat 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 ;

3、数据库授权

[root@server3 ~]# mysql
mysql> grant all on test.* to redis@'%' identified by 'westos';
Query OK, 0 rows affected (0.00 sec)
mysql> select * from test.test;
+----+-------+
| id | name |
+----+-------+
| 1 | test1 |
| 2 | test2 |
| 3 | test3 |
| 4 | test4 |
| 5 | test5 |
| 6 | test6 |
| 7 | test7 |
| 8 | test8 |
| 9 | test9 |
+----+-------+
9 rows in set (0.00 sec)

测试:访问172.25.254.2/test.php

1、php默认从redis 索取数据,第一次redis无缓存,则php从mysql'索取数据

第一次无缓存

redis服务器环境下mysql如何实现lnmp架构缓存

第二次索取数据后:

redis服务器环境下mysql如何实现lnmp架构缓存

redis节点也可查看

[root@server1 redis-4.0.1]# redis-cli
127.0.0.1:6379> get 2
"test2"

2、将数据库server3节点内容更新并删除节点,则php从数据库索取数据节点更新内容

mysql> update test.test set name='westos' where id=1;
Query OK, 1 row affected (0.05 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select * from test.test;
+----+--------+
| id | name  |
+----+--------+
| 1 | westos |
| 2 | test2 |
| 3 | test3 |
| 4 | test4 |
| 5 | test5 |
| 6 | test6 |
| 7 | test7 |
| 8 | test8 |
| 9 | test9 |
+----+--------+
9 rows in set (0.00 sec)

redis的master主机删除节点内容

[root@server1 redis-4.0.1]# redis-cli
127.0.0.1:6379> get 2
"test2"
127.0.0.1:6379> del 1
(integer) 1
127.0.0.1:6379> get 1
(nil)

刷新页面,再次访问

redis服务器环境下mysql如何实现lnmp架构缓存

以上是“redis服务器环境下mysql如何实现lnmp架构缓存”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网数据库频道!

您可能感兴趣的文档:

--结束END--

本文标题: redis服务器环境下mysql如何实现lnmp架构缓存

本文链接: https://lsjlt.com/news/56136.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • redis服务器环境下mysql如何实现lnmp架构缓存
    这篇文章主要为大家展示了“redis服务器环境下mysql如何实现lnmp架构缓存”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“redis服务器环境下mysql...
    99+
    2024-04-02
  • Windows环境下Java路径缓存如何实现自动清理?
    在Windows环境下,Java开发人员经常会遇到一个问题:Java路径缓存。Java路径缓存是指Java在启动时会将Java执行文件的路径缓存到Windows注册表中,以便下次启动时快速定位Java执行文件的位置,从而提高启动速度。然而,...
    99+
    2023-10-16
    path 缓存 windows
  • 如何实现全自动安装LNMP服务器环境的Shell脚本
    这篇文章主要介绍“如何实现全自动安装LNMP服务器环境的Shell脚本”,在日常操作中,相信很多人在如何实现全自动安装LNMP服务器环境的Shell脚本问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何实现全...
    99+
    2023-06-09
  • 缓存是Java LeetCode算法的关键!Windows环境下如何实现?
    在Java LeetCode算法中,缓存起着至关重要的作用。缓存可以大大提高算法的效率,减少计算时间。那么在Windows环境下,我们该如何实现缓存呢?本文将为大家介绍如何利用Java实现缓存,并给出相应的演示代码。 一、什么是缓存 缓存...
    99+
    2023-07-05
    leetcode windows 缓存
  • redis服务器如何看缓存
    要查看 Redis 服务器中的缓存,可以使用 Redis 命令行界面或者 Redis 图形化界面工具。1. Redis 命令行界面:...
    99+
    2023-09-11
    redis 服务器
  • PHP 学习笔记:如何在 Linux 环境下实现分布式架构?
    分布式架构是现代软件开发中非常重要的一个概念,它可以将一个大型系统拆分成多个小型系统,从而提高系统的可扩展性和可靠性。在 Linux 环境下,PHP 是一种非常流行的编程语言,本文将介绍如何使用 PHP 在 Linux 环境下实现分布式架...
    99+
    2023-11-05
    学习笔记 linux 分布式
  • 如何进行服务器LNMP环境搭建的分析
    今天就跟大家聊聊有关如何进行服务器LNMP环境搭建的分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。WordPress建站,需要做从服务器配置、域名解析、宝塔面板、wordpres...
    99+
    2023-06-04
  • 分布式系统中的缓存架构如何实现?
    分布式系统中的缓存架构如何实现? 在分布式系统中,缓存被广泛应用于提高系统性能和减少数据访问延迟。缓存是一种用于存储和管理数据的技术,它可以将数据存储在快速存储介质中,以便快速访问和检索。在这篇文章中,我们将探讨分布式系统中的缓存架构如何实...
    99+
    2023-10-05
    缓存 分布式 编程算法
  • 单机redis环境下,如何优雅地用Redis实现分布式锁
      #Lua解锁操作 if redis.call("get",KEYS[1]) == ARGV[1] then return redis.call("del",KEYS[1]) else return 0 end  ...
    99+
    2015-03-09
    单机redis环境下,如何优雅地用Redis实现分布式锁
  • 如何支持Memcache缓存服务器在分布式环境中运行
    Memcache缓存服务器是一个非常流行的缓存解决方案,它可以帮助提升网站或应用程序的性能。然而,在分布式环境中使用Memcache缓存服务器也会遇到一些问题。因此,本文将介绍如何支持Memcache缓存服务器在分布式环境中运行。理解Mem...
    99+
    2023-05-15
    缓存服务器 Memcache 分布式环境
  • ubuntu服务器环境下如何安装python
    这篇文章主要介绍“ubuntu服务器环境下如何安装python”,在日常操作中,相信很多人在ubuntu服务器环境下如何安装python问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ubuntu服务器环境下如...
    99+
    2023-07-04
  • Ubuntu环境下如何搭建FTP服务器
    今天小编给大家分享一下Ubuntu环境下如何搭建FTP服务器的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。安装ftp安装ft...
    99+
    2023-07-04
  • 如何在 Linux 环境下使用 Spring 框架实现 PHP 同步通信?
    Linux 是一款非常流行的操作系统,而 Spring 框架和 PHP 也是目前非常热门的技术。在这篇文章中,我们将探讨如何在 Linux 环境下使用 Spring 框架实现 PHP 同步通信。 一、什么是 Spring 框架? Spri...
    99+
    2023-10-29
    同步 linux spring
  • 如何利用PHP和Linux环境下的Laravel框架实现高并发应用?
    PHP和Linux环境下的Laravel框架是一种非常强大的工具,可以帮助开发人员构建高度可扩展、高并发的应用程序。在本文中,我们将介绍如何使用PHP和Linux环境下的Laravel框架来实现高并发应用。 一、什么是Laravel框架? ...
    99+
    2023-07-08
    linux laravel 并发
  • 超实用!服务器如何快速实现一键环境部署!
    很多新手在建站时都会在环境部署这一环境中耗费大量时间,如何选择自己需要的环境配件,一一下载、安装、配置……虽说没有什么特别困难的地方,但却十分麻烦。有没有其他更简单的操作方法呢?下面我就为大家介绍我是如何快速实现一键环境部署的!首先你需要下...
    99+
    2023-06-04
  • linux环境下如何编写shell脚本实现启动停止tomcat服务
    小编给大家分享一下linux环境下如何编写shell脚本实现启动停止tomcat服务,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!以管理员的身份进入控制台,在指定...
    99+
    2023-06-09
  • 如何实现window系统cmd环境下从远程FTP服务器上下载文件的方法
    我们总会遇到这样或那样的问题,window系统cmd环境下从远程FTP服务器上下载文件是怎么实现的呢   看看下面的方法,也许对你有帮助:   @echo off   rem 指定FTP用户名   set ftpUser...
    99+
    2023-05-30
    window FTP 服务器 cmd 环境 系统 文件
  • 微服务架构中如何实现服务的发现和注册?
    随着云计算和大数据时代的到来,传统的单体应用已经逐渐不能满足业务的发展需求。为了更好地应对复杂业务场景下的挑战,微服务架构越来越受到开发者的青睐。在微服务架构中,众多的服务逐渐增加,这就要求系统需要具备服务的发现和注册能力,本文将重点介绍微...
    99+
    2023-05-17
    微服务架构 服务发现 服务注册
  • 如何使用Redis和Java开发简易缓存服务器功能
    如何使用Redis和Java开发简易缓存服务器功能作为一种高性能的缓存和存储解决方案,Redis在Java开发中得到了广泛应用。本文将介绍如何使用Redis和Java开发一个简易的缓存服务器功能,并提供具体的代码示例。安装和配置Redis首...
    99+
    2023-10-22
    Java redis 缓存服务器
  • 微服务架构如何实现服务间的并发控制?
    随着信息技术的不断发展,微服务架构已成为当今互联网领域中最受欢迎的架构之一。微服务架构采用小型服务组件化的方式来构建应用程序,每个服务组件都独立运行,并通过轻量级的通信机制相互协作。但是,由于微服务架构中服务之间的高度耦合和紧密联系,服务之...
    99+
    2023-05-17
    并发控制 微服务架构 服务间通信
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作