• laravel用redis保存session遇到的坑,没报错,但redis-cli就是查不到


    laravel用redis保存session遇到的坑,

    配置redis存储session流程是这样的

    在.evn文件中把session驱动和连接改为了redis的 如下:

    SESSION_DRIVER=redis
    SESSION_CONNECTION=session //这个是新加的

    在session配置文件哪里,更改相应的链接配置(config/database.php) 如下:

        'redis' => [
    
            'client' => 'phpredis',
    
            'default' => [
                'host' => env('REDIS_HOST', '127.0.0.1'),
                'password' => env('REDIS_PASSWORD', null),
                'port' => env('REDIS_PORT', 6379),
                'database' => env('REDIS_DB', 0),
            ],
    
            'cache' => [
                'host' => env('REDIS_HOST', '127.0.0.1'),
                'password' => env('REDIS_PASSWORD', null),
                'port' => env('REDIS_PORT', 6379),
                'database' => env('REDIS_CACHE_DB', 1),
            ],
    
            'session' => [
                'host' => env('REDIS_HOST', '127.0.0.1'),
                'password' => env('REDIS_PASSWORD', null),
                'port' => env('REDIS_PORT', 6379),
                'database' => env('REDIS_CACHE_DB', 2),
            ],
    
        ],

    其中'session' 就是新增的链接,要和.env配置的同名

    然后配置好测试,网页正常(可以读取写入),就是在redis-cli 控制台查不出来session

        public function index(Request $request)
        {
    //        $redis = new Redis();
    //        $test = $redis->connect('127.0.0.1',6379);
    //        $redis->set('cat', 111);
    //        //获取一个字符串的值
    //        echo $redis->get('cat'); // 111
            
            $redis = app('redis.connection');
            $redis->set('library', 'predis'); // 存储 key 为 library, 值为 predis 的记录;
            $request->session()->put('let','lw21321321t');
            $request->session()->put('lwt','lw888881t');
            $request->session()->put('ss','ss');
            
            return "aa11";
        }
        public function show(Request $request)
        {
            $sesson = $request->session();
            dd($sesson);
            return "show";
    
        }

    结果:

    但是 redis-cli控制台一直没有结果

    网上查了一阵,发现 redis有16个数据库?, 我的session配置存在了数据库2里面,所以要在数据库2里面查看数据,结果 果然如此, [尴尬流汗]

    select 2 //切换到 redis的数据库2

     参考 :https://www.cnblogs.com/oxspirt/p/6529791.html

  • 相关阅读:
    WebForms UnobtrusiveValidationMode 须要“jquery”ScriptResourceMapping。
    用R进行微博分析的初步尝试
    使用Docker部署Gitlab
    怎样托管你的项目到github上具体教程
    Android Api Demos登顶之路(四十五)Loader-->Cursor
    【C语言】推断一个数是否为2的n次方
    Akka并发编程——第五节:Actor模型(四)
    POJ2773 Happy 2006【容斥原理】
    作用域与生命周期
    C# string
  • 原文地址:https://www.cnblogs.com/fps2tao/p/9969244.html
Copyright © 2020-2023  润新知