zoukankan      html  css  js  c++  java
  • redis 设置密码 laravel框架配置redis

    * 参考资料

    redis文档             http://www.redis.cn/documentation.html,  http://redisdoc.com/index.html

    redis桌面客户端  https://redisdesktop.com/download

    * 修改redis.conf

       添加一行

    requirepass "shi_kuretto"
    

     去掉一行注释

    bind 127.0.0.1 ::1
    

      

    * 重启redis服务

    lsof -i:6379
    

    找到redis的进程id, kill

    COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
    redis-ser 1573 Mch 4u IPv6 0xb521b0eb0f67f0ad 0t0 TCP *:6379 (LISTEN)
    redis-ser 1573 Mch 5u IPv4 0xb521b0eb178de785 0t0 TCP *:6379 (LISTEN)

    kill -SIGTERM 1573

    切换到redis的安装路径,启动redis-server

    ./src/redis-server ./redis.conf

    看到这一行说明成功:

    [2114] 19 Jul 20:53:34.509 * The server is now ready to accept connections on port 6379

    * 连接redis数据库

    ./src/redis-cli -h 127.0.0.1 -a shi_kuretto
    

      测试连接

    localhost:6379> ping
    PONG
    localhost:6379>
    

      

    * php redis配置

      参照这里 

    * 下载依赖包

    composer require predis/predis
    composer update
    

    * 修改laravel 配置参数

      .env

    REDIS_HOST=127.0.0.1
    REDIS_PASSWORD=shi_kuretto
    REDIS_PORT=6379
    

     config/database.php

    <?php
    
    return [
    
       /* ... */
    
        'redis' => [
    
            'client' => 'predis',
    
            'default' => [
                'host' => env('REDIS_HOST', '127.0.0.1'),
                'password' => env('REDIS_PASSWORD', 'shi_kuretto'),
                'port' => env('REDIS_PORT', 6379),
                'database' => 0,
            ],
    
        ],
    
    ];

    * 重启web服务

    php artisan cache:clear
    php artisan config:clear
    php artisan serve --port 9000
    

      

      
    * 创建测试Controller

    php artisan make:controller WebController
    

      

    WebController.php

    <?php
    
    namespace AppHttpControllers;
    use IlluminateSupportFacadesRedis;
    // use Redis;
    
    class WebController extends Controller {
        public function index() {
            Redis::set('string:user:name', 'wshuo');
            return Redis::get('string:user:name');
    
        }
        public function test() {
            $env = config('database.redis.default');
            $redis = new Redis();
            $redis->connect($env['host'], $env['port'], 5);
            $redis->auth($env['password']);
            $redis->set('string:user:name', 'wshuo');
            return $redis->get('string:user:name');
        }
    }
    

      

    * 配置路由 ./routes/web.php +1条路由

    <?php
    Route::get('/', function () {
        return view('welcome');
    });
    Route::get('/Web/index', 'WebController@index');

      

    * 启动laravel项目

    php -S 0.0.0.0:9000
    

      

    * 浏览器打开 http://localhost:9000/Web/index

      wshuo

    ----------------------------------------------------------

    可以查看这几个文件代码

    ./vendor/laravel/framework/src/Illuminate/Support/Facades/Redis.php

    ./vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php

    ./config/app.php

    'Redis' => IlluminateSupportFacadesRedis::class,
    

      

    vendor/laravel/framework/src/Illuminate/Redis/RedisServiceProvider.php

        /**
         * Register the service provider.
         *
         * @return void
         */
        public function register()
        {
            $this->app->singleton('redis', function ($app) {
                $config = $app->make('config')->get('database.redis');
    
                return new RedisManager(Arr::pull($config, 'client', 'predis'), $config);
            });
    
            $this->app->bind('redis.connection', function ($app) {
                return $app['redis']->connection();
            });
        }
    

      vendor/laravel/framework/src/Illuminate/Redis/RedisManager.php

        /**
         * Create a new Redis manager instance.
         *
         * @param  string  $driver
         * @param  array  $config
         * @return void
         */
        public function __construct($driver, array $config)
        {
            $this->driver = $driver;
            $this->config = $config;
        }
    

      

    PHP扩展开发:

    http://www.cnblogs.com/52fhy/category/604746.html

  • 相关阅读:
    JS & JQuery 动态处理select option
    如何在Oracle中复制表结构和表数据
    基于cxf的app文件上传接口(带回显功能)
    Jenkins的详细安装及使用--windows
    git用代码库文件完全覆盖本地/git不能提交jar的设置
    Windows平台下Git服务器搭建
    Vue脚手架之Vue-cli
    Vue的生命周期
    Vue状态管理之Vuex
    Vue路由管理之Vue-router
  • 原文地址:https://www.cnblogs.com/mingzhanghui/p/9338385.html
Copyright © 2011-2022 走看看