swoft 1.0 自定义 redis 池
定义Redis池
在app/config/beans/base.php增加如下配置
'cacheRedis' => [
'class' => \Swoft\Redis\Redis::class,
'poolName' => 'cacheRedis',
],
定义Redis池配置
namespace App\Pool\Config;
use Swoft\Bean\Annotation\Bean;
use Swoft\Bean\Annotation\Value;
use Swoft\Redis\Pool\Config\RedisPoolConfig;
/**
* CacheRedisPoolConfig
*
* @Bean()
*/
class CacheRedisPoolConfig extends RedisPoolConfig
{
/**
* @Value(name="${config.cache.redis.db}", env="${REDIS_DB}")
* @var int
*/
protected $db = 0;
/**
* @Value(name="${config.cache.redis.prefix}", env="${REDIS_PREFIX}")
* @var string
*/
protected $prefix = '';
}
定义redis池
namespace App\Pool;
use Swoft\Bean\Annotation\Inject;
use Swoft\Bean\Annotation\Pool;
use Swoft\Redis\Pool\RedisPool;
use App\Pool\Config\CacheRedisPoolConfig;
/**
* CacheRedisPool
*
* @Pool("cacheRedis")
*/
class CacheRedisPool extends RedisPool
{
/**
* @Inject()
* @var CacheRedisPoolConfig
*/
public $poolConfig;
}
使用注入
此时可以调用所有的redis方法
namespace App\Lib\TpCache;
use Swoft\Bean\Annotation\Inject;
trait Redis
{
/**
* @Inject("cacheRedis")
*/
private $cacheRedis;
/**
* 设置缓存过期时间
*/
private function cacheExpire($name, $ttl)
{
$this->cacheRedis->expire($name, $ttl);
}
}
最后更新于 2019-03-25 14:05:10 并被添加「redis swoft 1.0 自定义 池」标签,已有 795 位童鞋阅读过。
此处评论已关闭