1 Star 36 Fork 7

隔壁老李 / ajcaptcha

 / 详情

easyswoole的config怎么配置缓存实例

Done
Opened this issue  
2021-11-13 16:36

或者出一个easyswoole版本的demo呗

Comments (4)

q408563228 created任务
q408563228 changed description
q408563228 changed title
Expand operation logs

按照easyswoole的官方文档http://www.easyswoole.com/Components/Redis/string.html,你可以参考下面的配置

//redis
   'cache' => [
                'constructor' => function(){
                    $redis = new \EasySwoole\Redis\Redis(new \EasySwoole\Redis\Config\RedisConfig([
                        'host'      => '127.0.0.1',
                        'port'      => '6379',
                        'auth'      => 'easyswoole',
                        'serialize' => \EasySwoole\Redis\Config\RedisConfig::SERIALIZE_NONE
                    ]));
                    return $redis;
                },
      
        'method' => [
            'get' => 'get', //获取
            'set' => 'set', //设置
            'delete' => 'del',//删除
            'has' => 'exists' //key是否存在
        ]
    ]
//memcache
   'cache' => [
                'constructor' => function(){
                   $config = new \EasySwoole\Memcache\Config([
                        'host' => '127.0.0.1',
                        'port' => 11211
                    ]);
                    $client = new EasySwoole\Memcache\Memcache($config);
                    return client;
                },
      
        'method' => [
            'get' => 'get', 
            'set' => 'set', 
            'delete' => 'delete',
            'has' => 'get' // easyswoole的memcache 没有has方法,只能使用 get代替
        ]
    ]
//fast-cache
   'cache' => [
                'constructor' => function(){
                   $cache = \EasySwoole\FastCache\Cache::getInstance();
                  //可以自定义设置setTempDir、setProcessNum、setServerName等等,最后只需返回$cache即可
                    return $cache;
                },
      
        'method' => [
            'get' => 'get', 
            'set' => 'set', 
            'delete' => 'unset',
            'has' => 'get' //  没有has方法,只能使用 get代替
        ]
    ]

上述配置仅参考easyswoole文档写的,个人并未手动实现,若按此配置设置后报出错误,请及时联系作者。

暂时,还没有使用,使用原配置时,runtime的路径作为相对目录,放入项目下没有什么问题,放到跟目录既难以维护,也并不一定有权限,
是否可以使用接口类 ,interface simple-cache, fast-cache我composer有点问题

redis不可行,配置会出问题,不知道是否是配置冲突
项目没有用到的memcache,未尝试
fast-cathe "参数校验失败:token"

fast-cathe取到的token为空应该跟下面代码服务配置有关。

$config = new \EasySwoole\FastCache\Config();
$config->setTempDir(EASYSWOOLE_TEMP_DIR);
Cache::getInstance($config)->attachToServer(ServerManager::getInstance()->getSwooleServer());

为了避免这种问题的出现。v1.0.6版本给缓存增加options选项,可以让开发者自定义缓存目录、过期时间、缓存前缀等配置。

    'cache' => [
        'constructor' => \Fastknife\Utils\CacheUtils::class,
        'options' => [
            'expire'        => 300,//缓存有效期 (默认为0 表示永久缓存)
            'prefix'        => '', //缓存前缀
            'path'          => '', //缓存目录
            'serialize'     => [], //缓存序列化和反序列化方法
        ]       
    ]
隔壁老李 changed issue state from 待办的 to 已完成

Sign in to comment

Status
Assignees
Milestones
Pull Requests
Successfully merging a pull request will close this issue.
Branches
Planed to start   -   Planed to end
-
Top level
Priority
参与者(2)
696866 fastknife 1626426510
PHP
1
https://gitee.com/fastknife/aj-captcha.git
git@gitee.com:fastknife/aj-captcha.git
fastknife
aj-captcha
ajcaptcha

Search

挂件 关闭按钮