IMHO, using a web-server cache (like LScache) is better than Redis/memcached.
When someone visits your website, the request typically follows this flow to display the requested page:
Traditional
Client > web-server (nginx / apache / etc) > PHP handler (PHP-FPM, for example) > Database queries > web-server > Client
Redis
Most plugins using Redis will cache database query results, and some even cache the entire HTML output (or parts of it). This saves time and resources by reducing database and data processing overhead.
Client > web-server (nginx / apache / etc) > PHP handler (PHP-FPM) > Redis cache > web-server > Client
Web-Server Cache (e.g., LScache, Nginx Cache, Varnish, etc.)
The web-server cache stores the entire HTML output, allowing the web server to serve requests without hitting the backend at all.
Client > web-server (nginx / apache / etc) > Web-server cache > Client
As shown above, the web-server cache bypasses the PHP handler and database entirely, making it significantly faster.
The request is served directly from the web server, which is especially beneficial for WordPress, as every request typically involves PHP processing and database queries.
LScache for WordPress is a good choice, but it's free version is limited to 1 worker (cpu), 1 domain and 2 GB RAM.
However, the same results can be achieved with Nginx or Varnish, though you'll need to configure these manually (server-side).
For WordPress, there are plugins that can automatically purge caches for Nginx or Varnish, much like the LiteSpeed plugin does for LiteSpeed servers.
For extremely high-traffic websites, you can combine both Redis (or any other object-cache) and a web-server cache for optimal performance.