I'm trying to understand a bit better the differences in caching engines, and which ones can be stacked with the other. Right now we have two webservers with a separate DB server. We're gonna be using Redis over TCP in order for both webservers to share the same cache. I'm interested in Varnish, or eAccelerator - as I understand eAccelerator is a php-caching engine, while Redis, similar to Memcached is a db caching - so those two should stack? And what about Varnish? Memcached and Redis are mutually exclusive as I understand.
Stacking caching engines
373 Views Asked by srgb At
1
There are 1 best solutions below
Related Questions in CACHING
- Using Puppeteer to scrape a public API only when the data changes
- Caching private wordpress rest endpoints
- Cloudflare not respecting Cache-Control
- Unexpected Recursive Call
- Cannot serialize (Spring Boot)
- Nginx only caches file endpoints
- The Selenium application properties folder holds two environment options. After running a test the environment setting changes to a previous setting
- Launch jobs in cache in a loop in bash script
- Multiple async request do not store anything to cache
- Dev tool for Next.js cache on the client?
- Creating a letter in the terminal by entering
- Laravel: check if cache has key with thag
- The retrieval time for the Apache Ignite cache is too long
- How to run gradle with caches files
- Docker Run cache mount does not cache apt-get dependencies
Related Questions in REDIS
- How to Socket.IO Multithreading on a Raspberry Pi?
- How to get the session ID returned by cookie with spring-session-data-redis
- Cannot serialize (Spring Boot)
- JEDIS/REDIS 'ON' Keyword or broken query?
- Quart_Sessions Redis deletes keys and create backups instead
- Docker builds redis, mounts the host network and uses 192.168.*.* to access the redis server and is denied
- Need a script to fetch the redis latency values over 20 seconds and store the results in a file
- Service in Docker Compose not connecting to Redis container in docker, Failed to connect to any host resolved for DNS name
- Install redis vector database on GCP in a GKE cluster
- how to avoid while loop while waiting for future complete?
- Is it possible to append the data in Redis command
- Not able to inject RedisCache/SyncCache/StatefulRedisConnection beans in micronaut 4.2.1 version
- RedisConnectionFailureException intermittently
- using redis timeseries in aredes error =>Error handling publish event: [ErrorReply: ERR TSDB: invalid value]
- HttpResponseMessage caching using redis
Related Questions in MEMCACHED
- How can I properly delete a cache key on a Ruby on Rails project using memcached on multiple nodes?
- Cannot clear APCu Cache from Console, it's shared in the Webserver memory and not accessible from the CLI
- How do I update memcache php extension
- Memcached: How to remove all the keys
- Memcached lost items before expiration
- Once data is cache , make it available for other microservice
- pods connectivity chatbotexternal and mongodb
- How to connect my Nodejs Lambda to a Serverless Elasticache running memcached distribution
- Large number of rejected connections in memcached using django
- unable to retrieve data from Memcached cluster consistently
- Unable to connect to Elasticache serverless memcached from Lambda within same VPC
- Memcached does not work on local machine | Docker
- Memcache - some keys are getting deleted before expiration
- Tomcat session does not persist for multiple tomcat pods with the Memcached session manager
- Failure in Xmemcached CRAM-MD5 authentication
Related Questions in VARNISH
- Kubernetes, Helm, Varnish, building vcl file
- Varnish Cache Strange Issue showing same images /css/txt files on index page or other pages
- How to let Cypress-tests bypass all caches (Varnish, Redis, etc.)
- Setting up varnish in docker, nginx, php-fpm
- Is there a way to split a long line of code in VCL?
- Client 443/HTTPS -> Virtual IP -> HA Proxy 80/HTTP and 443/HTTPS SSL terminaison -> Varnish 81/HTTP -> 82/HTTPS and 442/HTTPS Apache
- Configuring varnish cache on one server and connecting it with my wordpress site deployed on another server
- Varnish logged in user to remote server
- How to create custom local variables in Varnish?
- How to determine why a object was removed from the Varnish Cache?
- How can i setup varnish for my symfony app?
- updated content only loads on hard refresh, else it loads old content
- How to Log varnish cache key?
- Reverse proxy varnish using subpath in docker
- Renaming cache tags in API Platform
Related Questions in EACCELERATOR
- Separate one column into multiple columns
- Error in magento Admin in customer tab?
- APC & eAccelerator configuration
- Invalid opcode 153/1/8 when using anonymous function
- eAccelerator.dll missing in XAMPP Version: 5.6.3
- joomla error after hosting it on shared server
- Is eAccelerator still relevant?
- After installed eaccelerator server return 500 error
- Doctrine with eAccelerator issue in zend framework 2 website
- eAccelerator not working in xampp 1.8.0
- Invalide OpCode and php sort function
- apache eaccelerator build php version
- laravel 3 not working with eaccelerator
- Stacking caching engines
- Configuring symfony for using eaccelerator
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
For the most part, yes. If your data set, however, exceeds what can normally fit into RAM (single node), memcached scales better than Redis since most memcached client libraries support consistent hashing that distribute data across a group of memcached nodes, so the aggregate total of RAM from all nodes becomes your total data set capacity; simply add more memcached nodes to increase capacity.
You can shard (horizontally scale) with Redis to support a larger data set, but choices to do so are limited. Twitter developed twemproxy to shard redis keys across of group of redis nodes; while Redis Cluster is still a work in progress, twemproxy is the recommended approach to scale redis.
So use one or the other; you don't need both, but in either case, the web/app server is typically the client to memcached/redis.
Varnish is a reverse-caching proxy that resides in front of your app/web server. It caches entire rendered pages and greatly reduces load on your app server. It's usually the entry point (not counting load-balancers) in a typical web stack.
I don't have experience with eAccelerator, but based on quick research, it's not mutually exclusive with Varnish. A typical stack may include varnish talking to PHP/eAccelerator or APC (check that out too). Also, you may want to consider adding nginx to the mix, see this.
Hope that helps