php session redis 配置

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 相信很多人用过redis存放session,可能有些人还不是很清楚,这里说一下如何配置php的session存放在redis里面?然后如何测试出效果? 具体环境: 一台apache+php的服务器(yum安装remi源及配置 httpd-2.
相信很多人用过redis存放session,可能有些人还不是很清楚,这里说一下如何配置php的session存放在redis里面?然后如何测试出效果?
具体环境:
一台apache+php的服务器(yum安装remi源及配置 httpd-2.2.15 php-5.4.45)
一台redis服务器(yum安装remi源及配置 redis-3.2.6)
保证apache服务器可以访问redis服务器的6379端口
具体步骤:
1、在apache+php服务器上安装redis扩展

点击(此处)折叠或打开

  1. yum install php-pecl-redis
2、测试php是否安装扩展成功
more index.php

点击(此处)折叠或打开

  1. php
  2. phpinfo()
  3. ?>
浏览器访问如下:

如上图说明安装成功,这里版本号和redis本身的版本号不同,大家可以忽略。
3、然后修改php.conf文件,可能很多人会疑问不是修改php.ini文件吗?一会下面我会说。

点击(此处)折叠或打开

  1. more /etc/httpd/conf.d/php.conf
将如下两行:

点击(此处)折叠或打开

  1. php_value session.save_handler "files"
  2. php_value session.save_path "/var/lib/php/session"
修改为如下内容

点击(此处)折叠或打开

  1. php_value session.save_handler "redis"
  2. php_value session.save_path "tcp://192.168.9.131:6379"
这里有一些文章里面加了tcp,有的没有加,本人测试过加或者不加session都可以存放在redis里面。
我个人理解的意思是:加了tcp表示tcp协议,如果没有加则表示通过http协议。如果不对请勿喷~~
保存退出后重新启动httpd服务
4、写一个测试页面test.php,内容如下:

点击(此处)折叠或打开

  1. header("Content-type:text/html;charset=utf-8");
  2. session_start();//这个很重要
  3. $_SESSION['test_session']= @array('name' =>'fanqie' , 'ccc'=>'hello redis ');
  4. $redis = new redis();
  5. $redis->connect('192.168.9.131', 6379);
  6. echo 'sessionid>>>>>>> PHPREDIS_SESSION:' . session_id();
  7. echo '
    ';
  8. echo '
    ';
  9. //redis用session_id作为key并且是以string的形式存储
  10. echo '通过php用redis获取>>>>>>>'.$redis->get('PHPREDIS_SESSION:' . session_id());
  11. echo '
    ';
  12. echo '
    ';
  13. echo '通过php用session获取>>>>>>>
    ';
  14. echo '
    ';
    			
  15. var_dump($_SESSION['test_session']);
  16. echo '';
5、测试,通过浏览器访问

在redis里面查看是否有这个session

redis中的session值和浏览器访问的值一样,说明成功。
这里我说一下为什么我直接修改的php.conf文件,而不是php.ini文件
如果你两个都配置了,它们的优先级比较高的是php.conf文件。所以说如果你想配置php.ini文件,你还需要注释掉php.conf中默认存本地的方式。这样更复杂繁琐。相信大家会选择上面比较简单的方式。

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
2天前
|
存储 NoSQL PHP
PHP与Redis结合使用,提升数据存储性能
随着互联网应用的发展,PHP与Redis的结合成为提升数据存储性能的重要手段。PHP作为流行的服务器端语言,常用于网站开发;Redis作为高性能内存数据库,以其快速读写能力,有效优化数据访问速度,减轻数据库压力。两者结合通过缓存机制显著提升应用响应速度,支持高并发场景下的稳定性和可扩展性。
|
5天前
|
存储 SQL 关系型数据库
2024Mysql And Redis基础与进阶操作系列(1)作者——LJS[含MySQL的下载、安装、配置详解步骤及报错对应解决方法]
Mysql And Redis基础与进阶操作系列(1)之[MySQL的下载、安装、配置详解步骤及报错对应解决方法]
|
9天前
|
存储 NoSQL 关系型数据库
PHP 使用 Redis
10月更文挑战第22天
19 6
|
17天前
|
存储 NoSQL Redis
Redis 配置
10月更文挑战第14天
20 1
|
2月前
|
存储 缓存 数据处理
php学习笔记-php会话控制,cookie,session的使用,cookie自动登录和session 图书上传信息添加和修改例子-day07
本文介绍了PHP会话控制及Web常用的预定义变量,包括`$_REQUEST`、`$_SERVER`、`$_COOKIE`和`$_SESSION`的用法和示例。涵盖了cookie的创建、使用、删除以及session的工作原理和使用,并通过图书上传的例子演示了session在实际应用中的使用。
php学习笔记-php会话控制,cookie,session的使用,cookie自动登录和session 图书上传信息添加和修改例子-day07
|
27天前
|
消息中间件 NoSQL Kafka
大数据-116 - Flink DataStream Sink 原理、概念、常见Sink类型 配置与使用 附带案例1:消费Kafka写到Redis
大数据-116 - Flink DataStream Sink 原理、概念、常见Sink类型 配置与使用 附带案例1:消费Kafka写到Redis
97 0
|
30天前
|
NoSQL Ubuntu Linux
redis的基本安装配置启动使用
redis的基本安装配置启动使用
31 0
|
1月前
|
缓存 NoSQL 数据处理
原生php实现redis缓存配置和使用方法
通过上述步骤,你可以在PHP项目中配置并使用Redis作为高性能的缓存解决方案。合理利用Redis的各种数据结构和特性,可以有效提升应用的响应速度和数据处理效率。记得在实际应用中根据具体需求选择合适的缓存策略,如设置合理的过期时间,以避免内存过度消耗。
42 0
|
NoSQL Java 应用服务中间件
|
NoSQL Java 应用服务中间件
使用redis进行基于shiro的session集群共享
之前写过一篇nginx多tomcat负载均衡,主要记录了使用nginx对多个tomcat 进行负载均衡,其实进行负载均衡之前还有一个问题没有解决,那就是集群间的session共享,不然用户在登录网站之后session保存在tomcat A,但是下次访问的时候nginx分发到了tomcat B,这个时...
1144 0