tp5分布式redis_TP5使用redis

Window 下安装

**下载地址:**[https://github.com/MSOpenTech/redis/releases](https://github.com/MSOpenTech/redis/releases)。

##类库下载

**http://windows.php.net/downloads/pecl/releases/redis/2.2.7/php_redis-2.2.7-5.6-nts-vc11-x86.zip

**http://windows.php.net/downloads/pecl/releases/igbinary/1.2.1/php_igbinary-1.2.1-5.5-nts-vc11-x86.zip

首先我们先去配置config.php

'cache' => [

// 驱动方式

// 'type' => 'File',

'type' => '\app\driver\cache\Redis',

// 缓存保存目录

'path' => CACHE_PATH,

// 缓存前缀

'prefix' => '',

// 缓存有效期 0表示永久缓存

'expire' => 0,

],

如果是多模块写在那个模块要用的config 如果但模块也放这里

return array(

'DATA_CACHE_PREFIX' => 'Redis_',//缓存前缀

'DATA_CACHE_TYPE'=>'Redis',//默认动态缓存为Redis

'DATA_CACHE_TIMEOUT' => false,

'REDIS_RW_SEPARATE' => true, //Redis读写分离 true 开启

'REDIS_HOST'=>'127.0.0.1', //redis服务器ip,多台用逗号隔开;读写分离开启时,第一台负责写,其它[随机]负责读;

'REDIS_PORT'=>'6379',//端口号

'REDIS_TIMEOUT'=>'300',//超时时间

'REDIS_PERSISTENT'=>false,//是否长连接 false=短连接

'REDIS_AUTH'=>'',//AUTH认证密码

);

写上 好像不写也没关系...

use think\cache\driver\Redis;

控制器来个代码测试一下..

$redis=new \Redis();

$redis->connect(Config("REDIS_HOST"),Config("REDIS_PORT"));

//先设置,然后再把set注释输出get测试

// $redis->set('redistest',"测试redis");

// echo $redis->get('redistest');

当然也可以封装一下 感觉方便点~

private function connectRedis(){

$redis=new \Redis();

$redis->connect(Config("REDIS_HOST"),Config("REDIS_PORT"));

return $redis;

}

好了页面正常显示 就这样了..

不会安装的看这个教程

http://www.runoob.com/redis/redis-install.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TP5中,如果你想要使用Redis作为单例,并且使`__call`方法生效,你需要按照以下步骤进行操作: 1. 首先,确保你已经安装了Redis扩展,并在`config/database.php`文件中配置了Redis的连接信息。 2. 创建一个类,并将其作为Redis单例类,例如命名为`RedisSingleton`。 3. 在`RedisSingleton`类中定义一个静态属性,用于保存Redis连接实例。 4. 在`__construct`方法中,使用`self::$instance`来检查Redis连接实例是否已经存在,如果存在则直接返回该实例。 5. 如果Redis连接实例不存在,则可以通过`self::$instance = new Redis()`来创建一个新的Redis连接实例。 6. 最后,在`__call`方法中调用Redis实例的对应方法。 以下是一个示例代码: ```php use think\facade\Config; class RedisSingleton { private static $instance; private function __construct() { // 私有构造函数 } public static function getInstance() { if (!isset(self::$instance)) { self::$instance = new Redis(); $config = Config::get('database.redis'); self::$instance->connect($config['host'], $config['port']); // 可根据需要设置其他 Redis 配置,如密码等 } return self::$instance; } public function __call($name, $arguments) { $redis = self::getInstance(); return call_user_func_array([$redis, $name], $arguments); } } // 使用示例 $redisSingleton = RedisSingleton::getInstance(); $redisSingleton->set('key', 'value'); // 调用 __call ``` 通过以上步骤,你可以在TP5中实现Redis单例模式,并且使`__call`方法生效。希望对你有所帮助!如果你有任何疑问,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值