-
Notifications
You must be signed in to change notification settings - Fork 11.1k
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:prune-stale-tags gives call to undefined method RedisCluster::pipeline() #53927
Comments
AFAIK |
@joostdebruijn for us the This timeout meant for us that the script was never able to fetch all the keys so it never got to the point of calling It also caused large spikes in command calls every hour (which is when we ran it) for a couple minutes until it timed out. I think the issue has always been there as the I've been running into quite a few issues when using redis in laravel with clusters. Some of those are because of bugs in phpredis itself: phpredis/phpredis#2601 and phpredis/phpredis#876 (relates to #53266). For us we're using redis serverless setup by vapor which is always in cluster mode. |
Thanks for your reply, @bentleyo! I never noticed this, but I see a similar pattern in our environment too (we're also using Redis serverless by Vapor). Nice that it has been fixed! As I understand it correctly, you are using predis to circumvent the limitations of phpredis? |
@joostdebruijn no problem! The issue I resolved wasn't specifically to do with tags in Laravel, but scanning (a feature that tags depends on). We noticed our Redis serverless DB was getting huge (10+GB) as the tag metadata wasn't being cleaned up. Again, because To be honest I haven't really looked into the issue with For us we've moved away from using tagged cache as it's no longer a feature that Laravel wants to encourage the use of (that's what Taylor said in a Q&A at Laracon AU) and as such the documentation for it has been removed from the Laravel documentation. |
@joostdebruijn the Predis wiki says it supports:
So that might be worth looking into. However, we ran into issues using Vapor setup serverless Redis with Predis (a healthcheck fails on deployment). I think that's because Vapor overrides the redis config and is missing some config for Predis to work ( There's also another issue where As you can tell, I'm having a fun time with this too 🙃 |
@bentleyo Thanks for all the valuable insights! Will close this issue for now, I think the best way forward for the long term is to move away from cache tags then. 😅 |
Laravel Version
11.35.1
PHP Version
8.4.1
Database Driver & Version
No response
Description
After upgrading to v11.35.1 the hourly scheduled command
cache:prune-stale-tags
results in aCall to undefined method RedisCluster::pipeline()
when running the application with the native php-redis extension at, in this case, Laravel Vapor.The issue can be 'resolved' by downgrading the application to v11.35.0 or installing Predis. I think the issue is related to PR #53837 (and issue #53826), but I don't see directly what is causing the call tot
pipeline()
.Steps To Reproduce
cache:prune-stale-tags
Call to undefined method RedisCluster::pipeline()
The text was updated successfully, but these errors were encountered: