tp5.0使用predis访问redis集群

9 篇文章 0 订阅

目录

介绍

配置predis 控制器 application\index\controller\Predis.php

配置自定义助手函数 application\common.php

修改 访问控制器 \application\index\controller\index.php

访问 域名 http://localhost/index/Index/caches


介绍

Predis是一个开源的高级密钥值存储。它通常被称为数据结构服务器,因为键可以包含字符串、散列、列表、集和排序集。

在将Redis与tp5.0一起使用之前,您将需要通过Composer安装predis/predis包:

predis适用于 redis集群架构

composer require predis/predis

配置predis 控制器 application\index\controller\Predis.php

<?php
namespace app\index\controller;
use Predis\Client;

class Predis
{
    private $server;
    public function __construct()
    {

        $server_list = [
            'tcp://10.10.87.241:6301',
            'tcp://10.10.87.241:6302',
            'tcp://10.10.87.241:6303',
            'tcp://10.10.87.242:6304',
            'tcp://10.10.87.242:6305',
            'tcp://10.10.87.242:6306',
        ];
        $this->server = new Client($server_list, array('cluster' => 'redis'));
    }

    public function connect_server(){

        return $this->server;
    }
}

 

配置自定义助手函数 application\common.php

<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: 流年 <liu21st@gmail.com>
// +----------------------------------------------------------------------

// 应用公共文件
function predis($name,$value = '',$expire = 0){
    if(empty($name)) return false;
    $predis = new \app\index\controller\Predis();
    $predis = $predis->connect_server();
    $value = is_scalar($value) ? $value : 'think_serialize:' . serialize($value);
    $result = false;
    if(strval($value) && strlen($value) > 0 && !empty($name) && is_string($name)){
        $result = $predis->set($name,$value);
    }
    else if(!empty($name)){
        $result = $predis->get($name);
        $result = 0 === strpos($result, 'think_serialize:') ? unserialize(substr($result, 16)) : $result;
    }
    return $result;
}

修改 访问控制器 \application\index\controller\index.php

<?php
namespace app\index\controller;

class Index
{
    public function index()
    {
        return '';
    }

    public function caches(){
        $res = predis('',123);
        dump(predis('*'));

        predis('test1',1231);
        dump(predis('test1'));

        predis('test2',1232);
        dump(predis('test2'));

        predis('test3',1233);
        dump(predis('test3'));

        $res = predis('test4',['abc'=>123,'bcae'=>'hellowwrold']);
        dump(predis('test4'));
    }
}

访问 域名 http://localhost/index/Index/caches

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值