国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

webman框架中使用thinkorm后查詢緩存沒法使用

linkphp

截圖

Db::table('user')->cache(60)->find();
這樣調(diào)用后發(fā)現(xiàn)沒有生成緩存文件?

4448 5 0
5個(gè)回答

weijer

跟你昨天一樣問題啊?。。?!

  • linkphp 2021-02-25

    好像是的。。。不知道咋整緩存驅(qū)動(dòng)

  • linkphp 2021-02-25

    大佬有微信嗎 加你一下 哈哈

小陽光

thinkorm的文檔上有寫,要用緩存必須要有緩存驅(qū)動(dòng)并設(shè)置。自己寫或者去github上找一個(gè)符合psr規(guī)范的緩存驅(qū)動(dòng)即可。

  • 小陽光 2021-02-25
    Db::setCache(Container::get(RedisAdapter::class));
weijer

直接用用這個(gè)組件 Illuminate\Cache

在 support\bootstrap\db\Thinkphp.php

use Illuminate\Cache\RedisStore;
use support\bootstrap\Redis;

// 進(jìn)程啟動(dòng)時(shí)調(diào)用
public static function start($worker)
{
Db::setConfig(config('thinkorm'));
$cache = new RedisStore(Redis::$_manager); // 注意把 $_manager 改成 public
Db::setCache($cache);
}

  • weijer 2021-02-26

    還有點(diǎn)問題 Illuminate\Cache 不符合 PSR-16 規(guī)范得適配下

  • weijer 2021-02-26

    可以用 symfony/cache 做橋接

  • linkphp 2021-02-26

    好像可以用think-cache 但是不知道怎么配置

  • linkphp 2021-02-26

    @7457:大佬您有qq或者微信嗎 我加一下 請請教一下

  • weijer 2021-03-01

    "symfony/cache": "^5.2"

    <?php
    namespace support\bootstrap\db;

    use Webman\Bootstrap;
    use think\facade\Db;
    use support\bootstrap\Redis;
    use Symfony\Component\Cache\Adapter\RedisAdapter;
    use Symfony\Component\Cache\Psr16Cache;

    class Thinkphp implements Bootstrap
    {
    // 進(jìn)程啟動(dòng)時(shí)調(diào)用
    public static function start($worker)
    {
    Db::setConfig(config('thinkorm'));
    $adapter = new RedisAdapter(Redis::connection()->client());
    $pool = new Psr16Cache($adapter);
    Db::setCache($pool);
    }
    }

  • linkphp 2021-03-12

    這個(gè)文件放哪里

  • linkphp 2021-03-12

    @7457:大佬 我按照你這樣加進(jìn)去了,但是報(bào)錯(cuò)了

  • linkphp 2021-03-12

    @7457:報(bào)錯(cuò)截圖在下面 大佬你看下 這個(gè)咋回事

  • linkphp 2021-03-12

    @7457:Symfony\Component\Cache\Exception\InvalidArgumentException: Cache key "127.0.0.1:3306@lanjinghai.yh_user" contains reserved characters "{}()/\@:". in /www/wwwroot/lanjinghai/vendor/symfony/cache/CacheItem.php:167

  • linkphp 2021-03-12

    @7457:按照您這個(gè)辦法,查詢緩存是可以了,但是字段緩存好像不行

  • 1619443919 2021-03-17

    tporm你設(shè)置的緩存類型是什么就是哪種形式,不是一定要生成字段緩存文件

linkphp

截圖

  • weijer 2021-03-12

    tp-orm 的問題,給他們提pr了

  • linkphp 2021-03-13

    "Cache key \"think:lanjinghai.yh_user|1\" contains reserved characters \"{}()\

  • linkphp 2021-03-13

    @7457:又報(bào)錯(cuò)了。。這也是bug么

  • weijer 2021-03-15

    同一個(gè)問題哈

  • linkphp 2021-03-15

    @7457:我發(fā)現(xiàn)就是那個(gè)save方法報(bào)錯(cuò)的,如果save方法指定where條件主鍵 就沒問題了

  • 1619443919 2021-03-17

    直接改下symfony的cache源碼即可啊,{}()/\@:,刪除了@和:即可

  • 1619443919 2021-03-17

    翻了源碼,他禁止key里含有{}()/\@:,但是tp的字段緩存key會有@和:,或者不弄symfony,可以考慮別的psr16

  • linkphp 2021-03-18

    @1619443919:哪個(gè)文件。。。

  • linkphp 2021-03-18

    @1619443919:別的不知道咋搞 tp-cache能用么 能不能寫個(gè)demo

linkphp

截圖

找到方法了 修改這個(gè)文件 就好了 謝謝大佬們

年代過于久遠(yuǎn),無法發(fā)表回答
??