目录
配置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'));
}
}