Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cache组件并发下,如果不设置模型字段缓存,会经常把报错 #2968

Open
augushong opened this issue Jan 6, 2024 · 1 comment
Labels

Comments

@augushong
Copy link

如下面报错,其实不用特别的高并发,用workerman开4个进程,如果有频繁的模型save,没有开启数据库字段缓存,就会频繁出现下面的报错。

TypeError: think\cache\driver\Redis::getTagItems(): Return value must be of type array, bool returned in /home/augushong/www/ulthon_admin/vendor/topthink/framework/src/think/cache/driver/Redis.php:233
Stack trace:
#0 /home/augushong/www/ulthon_admin/vendor/topthink/framework/src/think/cache/TagSet.php(112): think\cache\driver\Redis->getTagItems()
#1 /home/augushong/www/ulthon_admin/vendor/topthink/think-orm/src/db/PDOConnection.php(877): think\cache\TagSet->clear()
#2 /home/augushong/www/ulthon_admin/vendor/topthink/think-orm/src/db/PDOConnection.php(1167): think\db\PDOConnection->pdoExecute()
#3 /home/augushong/www/ulthon_admin/vendor/topthink/think-orm/src/db/BaseQuery.php(1260): think\db\PDOConnection->update()
#4 /home/augushong/www/ulthon_admin/vendor/topthink/think-orm/src/Model.php(673): think\db\BaseQuery->update()
#5 /home/augushong/www/ulthon_admin/vendor/topthink/think-orm/src/db/PDOConnection.php(1521): think\Model->think\{closure}()
#6 /home/augushong/www/ulthon_admin/vendor/topthink/think-orm/src/db/concern/Transaction.php(47): think\db\PDOConnection->transaction()
#7 /home/augushong/www/ulthon_admin/vendor/topthink/think-orm/src/Model.php(665): think\db\BaseQuery->transaction()
#8 /home/augushong/www/ulthon_admin/vendor/topthink/think-orm/src/Model.php(564): think\Model->updateData()
#9 /home/augushong/www/ulthon_admin/app/worker/net/worker/start.php(86): think\Model->save()
#10 /home/augushong/www/ulthon_admin/vendor/workerman/workerman/Events/Event.php(167): app\common\console\WorkerCommandConsole->{closure}()
#11 [internal function]: Workerman\Events\Event->timerCallback()
#12 /home/augushong/www/ulthon_admin/vendor/workerman/workerman/Events/Event.php(193): EventBase->loop()
#13 /home/augushong/www/ulthon_admin/vendor/workerman/workerman/Worker.php(1635): Workerman\Events\Event->loop()
#14 /home/augushong/www/ulthon_admin/vendor/workerman/workerman/Worker.php(1426): Workerman\Worker::forkOneWorkerForLinux()
#15 /home/augushong/www/ulthon_admin/vendor/workerman/workerman/Worker.php(1400): Workerman\Worker::forkWorkersForLinux()
#16 /home/augushong/www/ulthon_admin/vendor/workerman/workerman/Worker.php(1785): Workerman\Worker::forkWorkers()
#17 /home/augushong/www/ulthon_admin/vendor/workerman/workerman/Worker.php(1721): Workerman\Worker::monitorWorkersForLinux()
#18 /home/augushong/www/ulthon_admin/vendor/workerman/workerman/Worker.php(562): Workerman\Worker::monitorWorkers()
#19 /home/augushong/www/ulthon_admin/app/common/console/WorkerCommandConsole.php(84): Workerman\Worker::runAll()
#20 /home/augushong/www/ulthon_admin/app/common/command/fusion/NetWorker.php(35): app\common\console\WorkerCommandConsole->execute()
#21 /home/augushong/www/ulthon_admin/vendor/topthink/framework/src/think/console/Command.php(210): app\common\command\fusion\NetWorker->execute()
#22 /home/augushong/www/ulthon_admin/vendor/topthink/framework/src/think/Console.php(649): think\console\Command->run()
#23 /home/augushong/www/ulthon_admin/vendor/topthink/framework/src/think/Console.php(308): think\Console->doRunCommand()
#24 /home/augushong/www/ulthon_admin/vendor/topthink/framework/src/think/Console.php(245): think\Console->doRun()
#25 /home/augushong/www/ulthon_admin/think(12): think\Console->run()
#26 {main}
@big-dream
Copy link
Contributor

有点奇怪,按照 phpredis 的文档,返回类型应该只有 array,不应该返回 bool
image

@big-dream big-dream added the Cache label Mar 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants