Redis

作者: 爱折腾的傻小子 | 来源:发表于2018-10-29 10:59 被阅读26次

    laravel 5.4安装redis:

    //> 依赖安装 predis/predis 包
    composer require predis/predis
    

    关于Redis:redis不支持windows,单要在windows上使用redis需要下载下面链接资源(redis守护进程),并安装php扩展php_redis.dll文件(安装->windows扩展->redis扩展)
    Redis-windows-server | 资源下载

    配置: config/database.php - - - redis配置选项

       /*
        |--------------------------------------------------------------------------
        | Redis Databases
        |--------------------------------------------------------------------------
        |
        | Redis is an open source, fast, and advanced key-value store that also
        | provides a richer set of commands than a typical key-value systems
        | such as APC or Memcached. Laravel makes it easy to dig right in.
        |
        */
    
        'redis' => [
    
            'client' => 'predis',
    
            'default' => [
                'host' => env('REDIS_HOST', '127.0.0.1'),  // tcp/ip 服务器ip地址
                'password' => env('REDIS_PASSWORD', null), // tcp/ip redis登录密码(需要设置开启,在redis.conf配置文件中)
                'port' => env('REDIS_PORT', 6379),  // tcp/ip 端口
                # redis集群时,该参数无效 - - - 该参数的作用:保存数据文件(参考redis配置参数说明)
                'database' => 0,  // 数据库数值
                # predis 还支持一些参数 - - - 可选
                // 指定与Redis实例进行通信的协议,默认tcp/ip,支持unix(UNIX域套接字),http(通过Webdis的HTTP协议)
                'scheme' => 'tcp',
                # path 默认空 | 使用UNIX域套接字连接到Redis时使用的UNIX域套接字文件的路径
                'path' => '',
                # async 默认 false | 指定是否以非阻塞的方式建立到服务器的连接(即在底层资源执行实际连接时客户端未被阻塞)
                'async' => false,
                # persistent 默认false | 指定底层连接资源在脚本结束其生命周期时是否应保持打开状态
                'persistent' => false,
                # timeout 默认 5 | 用于连接Redis服务器的超时(以秒为单位),之后引发异常
                'timeout' => 5,
                # read_write_timeout 默认未设置 | 在对基础网络资源执行读取或写入操作时使用超时(以秒为单位),之后引发异常。
                # 默认值实际上取决于底层平台,但通常是60秒。
                'read_write_timeout' => 60,
                # alias 提供助记符别名来标识连接,客户端分片(集群)或主/从复制 有用
                'alias' => null,
                # weight 权重 默认:未设置 | 指定用于在使用客户端分片(群集)时在多个服务器之间非对称地平衡密钥分配的权重
                'weight' => null,
                # iterable_multibulk 默认:false | 设置为truePredis时,将Redis中的multibulk作为迭代器实例返回,而不是普通的简单PHP数组
                'iterable_multibulk' => false,
                # throw_errors 默认:true | 当设置为true服务器时,由Redis生成的错误被转换为PHP异常,否则它们将作为普通的PHP对象返回
                'throw_errors' => true
            ],
    
        ],
    

    [ = = = = = = = = = = = = = = = =]

    # 配置redis集群 | 如果应用使用了 Redis 服务器集群,需要在 Redis 配置中通过 clusters 定义这些集群
    'redis' => [
        'client' => 'predis',
        'clusters' => [
            'default' => [
                [
                    'host' => env('REDIS_HOST', 'localhost'),
                    'password' => env('REDIS_PASSWORD', null),
                    'port' => env('REDIS_PORT', 6379),
                    'database' => 0,
                ],
            ],
        ],
    ],
    

    cluster :告知laravel Redis客户端在多个Redis节点间执行客户端分片


    Redis - 更多配置选项

    laravel中Redis门面的基本使用:

    //> 字符串类型 String
    //> 设置redis值
    Redis::set('name','value')
    //> Redis获取相关值
    Redis::get('name')
    
    //> Redis 切换连接; 默认返回Redis实例
    Redis::connection('default')
    
    //> exists('name') 判断redis键值是否存在
    Redis::exists('name')
    

    备注:关于Redis的更多使用方法,参看Redis的使用手册 -> Redis-方法大全
    关于Redis的方法都能被使用。
    Redis的更多使用这里不再一一测试,具体用法参看手册和Redis使用大全

    redis - - - php_redis.dll 扩展提供的方法

    $redis = new \Redis();
    $redis->connect('127.0.0.1',6379);  // 链接redis服务器
    # ECHO 发送字符串到redis服务器,成功则返回当前字符串
    echo $redis->echo('hello redis');   // hello redis
    # AUTH 向redis服务器发送登录密码 - 如果服务端开启时使用
    $redis->auth('123456'); // 返回true:登录成功 | false:登录失败
    # PING 测试当前链接状态
    echo $redis->ping(); // +PONG
    # SWAPDB 交换数据库 - 不支持redis_php方法形式 - redis集群无效
    # 这将交换数据库0与数据库1.
    # 所有与数据库0连接的客户端将立即看到新的数据,
    # 就像连接数据库1的所有客户端将看到以前的数据库0的数据。
    SWAPDB 0 1
    # SELECT 选择给定数据库 - redis集群无效
    $redis->select(1); // 选择数据库1 true:操作成功 | false:操作失败
    # QUIT - 关闭redis服务
    QUIT // redis - 不支持 quit() 方法
    

    相关文章

      网友评论

          本文标题:Redis

          本文链接:https://www.haomeiwen.com/subject/ajcwmttx.html