定位 发表于 2018-7-6 13:55:39

PHP + Redis + Mysql 从配置到使用 详解

目录:

  一,下载

  二,解压

  三,配置与启动

  四,测试 Redis

  五,配置 phpRedis 扩展

  六,综合测试


前序

   Redis是一个开源,先进的key-value存储,并用于构建高性能,可扩展的Web应用程序的完美解决方案。

   Redis特点:

       1,Redis数据库完全在内存中,使用磁盘仅用于持久性。

    2,相比很多键值数据存储,Redis拥有一套较为丰富的数据类型

    3,Redis可以将数据复制到任意数量的从服务器

   Redis优势:
    1,异常快速:Redis的速度非常快,每秒能执行约11万集合,每秒约81000+条记录。

    2,支持丰富的数据类型:Redis支持最大多数开发人员已经知道像列表,集合,有序集合,散列数据类型。这使得它非常容易解决各种各样的问题,因为我们知道哪些问题是可以处理通过它的数据类型更好。

    3,操作都是原子性:所有Redis操作是原子的,这保证了如果两个客户端同时访问的Redis服务器将获得更新后的值。

    4,多功能实用工具:Redis是一个多实用的工具,可以在多个用例如缓存,消息,队列使用(Redis原生支持发布/订阅),任何短暂的数据,应用程序,如Web应用程序会话,网页命中计数等。



一,下载

  由于我买的阿里云服务器的OS是Linux CenOS的,所以下载使用的命令是 wget:wget http://download.redis.io/releases/redis-3.0.7.tar.gz

二,解压

  解压使用的命令是 tar ,默认是解压到当前目录,如果不想解压到当前目录,可以在 tar 命令后面添加解压路径

   tar -xvf redis-3.0.7.tar.gz



这样就安装好了,下面进行配置


三,配置与启动

  在redis-3.0.7 这个目录下有个redis.conf 的配置文件,我们只需要修改以下参数即可满足日常使用,如果对其他参数有要求,可以百度其他参数如何配置。其中requirepass yourpass,该参数配置访问redis的密码。初次之外还可以修改端口,默认的 Redis连接端口号是 6379,我下面的所有操作都是在默认的情况下进行的。

  先进入到 redis 目录make 一下



make 完之后,启动 Redis 可以使用下面的命令,出现下图就是成功启动了,PS:这图画的真溜-_- !

   ./redis-3.0.7/src/redis-server




四,测试 Redis

  测试 Redis 一定要在你的终端令其一个命令窗口,我上面的这个窗口已经用作启动了,Redis 一旦启动了就不会退出当前控制台,你如果强制使用 ctrl + c 回到控制台,那么也就相当于关闭了。

  启动可以通过下面命令

  ./redis-3.0.7/src/redis-cli



回顾一下我上面提到的,Redis 一旦启动,如果强制使用 ctrl + c 回到控制台,那么你在执行 ./redis-cli 的时候,它会提示:无法连接到 127.0.0.1:6379 的。上图我演示了 Redis 的两个函数,set 和 get,set 键lgh的值为LinGuanHong,再get出来。


五,配置 phpRedis 扩展

  要想在 Linux 下的php 使用Redis的函数,一定要安装 phpRedis 扩展。

  第一步,是下载 phpRedis,命令: wget https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz



    第二步,是减压,也是 tar 命令,可以模仿减压 Redis

  第三步,是编译 出 Redis.so 动态链接库,在 phpRedis 的所在目录执行下面命令,运行 phpize程序



然后再执行下面命令,命令:./configure --with-php-config=./usr/local/php/bin/php-config



运行完之后,你会看到



现在开始执行编译命令,make && make install



编译完成后,Redis.so 的路径便会被输出



检查一下是否生成了



第四步,添加到扩展 php 库





保存上诉操作,最后是重启服务器,或者重启nginx。


六,综合测试

   测试代码:



效果截图如下,到这里如果要和 MySQL 搭载使用,只需要在每次的 mysql_fetch_assos 取值时,执行set操作,获取时先判断redis中是否有缓存,有则get,如此即可。



到此结束
页: [1]
查看完整版本: PHP + Redis + Mysql 从配置到使用 详解