session入redis

1 篇文章 0 订阅

一、使用ini_set临时修改php.ini中的session配置(不建议使用)

//使用ini_set实现session存redis (不使用原因:函数危险,上线时要禁用) auth为redis密码
ini_set('session.save_handler' , 'redis');

ini_set('session.save_path' , 'tcp://127.0.0.1:6379?auth=ychusband');


session_start();


$_SESSION['username'] = 'zhangsan';


print_r($_SESSION);

二、直接在php.ini配置文件中修改配置

这种比较麻烦,小编就不展示了。

三、因为ini_set为危险函数,所以PHP为我们提供了另一个专门修改session储存的函数session_set_save_handler,也可以使用这个函数改变session的储存形式。

函数使用方式小编给大家贴出来了,至于类中的具体方法大家就自行补充吧

$redis_save = new RedisSession();

session_set_save_handler(
    array($redis_save, 'open'),
    array($redis_save, 'close'),
    array($redis_save, 'read'),
    array($redis_save, 'write'),
    array($redis_save, 'destroy'),
    array($redis_save, 'gc')
);

class RedisSession
{
    private $redis_obj;

    private $session_name;

    private $expire = 1440;

    //打开
    function open(){
        return true;
    }

    //关闭
    function close(){
        return true;
    }

    //读取
    function read($sid){
        return serialize([]);
    }

    //写入
    function write($sid,$value){
        return true;
    }

    //清空
    function destroy($sid){
        return true;
    }

    //清理
    function gc(){
        return true;
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Session是Spring框架提供的一个应用程序级会话管理解决方案。它为应用程序提供了一种无状态的方式来管理用户会话。Spring Session提供了多种后端存储方式来存储用户会话信息,其中Redis是其中的一个存储后端。 Spring SessionRedis整合可以使得应用程序的会话信息存储在Redis中,从而可以实现分布式应用程序的会话管理。下面是Spring SessionRedis整合的步骤: 1. 添加Spring SessionRedis的依赖: ```xml <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session</artifactId> <version>2.2.2.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>2.2.2.RELEASE</version> </dependency> ``` 2. 配置Redis连接信息: ```java @Configuration @EnableRedisHttpSession public class RedisSessionConfig { @Bean public LettuceConnectionFactory connectionFactory() { return new LettuceConnectionFactory(new RedisStandaloneConfiguration("localhost", 6379)); } } ``` 3. 启用Spring Session: ```java @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } @Bean public HttpSessionIdResolver httpSessionIdResolver() { return HeaderHttpSessionIdResolver.xAuthToken(); } } ``` 4. 在需要使用Spring Session的Controller或Service中,注HttpSession对象即可: ```java @RestController public class UserController { @GetMapping("/user") public String getUser(HttpSession session) { String userId = (String) session.getAttribute("userId"); return "User Id: " + userId; } @PostMapping("/user") public void createUser(HttpSession session, @RequestParam String userId) { session.setAttribute("userId", userId); } } ``` 通过以上步骤,就可以实现Spring SessionRedis的整合,从而实现分布式应用程序的会话管理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值