views
How To Improve Performance Of Your Rails App Using DynamoDB And Memcached
With the increasing number of apps going live on the web, it's becoming common to see that they use multiple servers. This is mainly due to scalability and availability purposes. But, these types of applications are also often not as responsive as they should be. Using a simple gem called DynamoDB and Memcached will allow you to achieve higher performance in your Rails app. Let me explain,
What is Memcached
Memcached is a high performance, free and open source distributed memory caching system used to speeding up dynamic web applications by alleviating database load. Memcached is simple yet powerful. Its simple design promotes quick deployment, ease of development, and solves many problems facing large data caches.
It is used for speeding up dynamic web applications by reducing database load. In other words, every time a database request is made it adds additional load to the server. Memcached reduces that load by storing data objects in dynamic memory (think of it as short-term memory for applications). Memcached stores data based on key-values for small arbitrary strings.
How does Memcached work?
Memcached is comprised of four main components
1. Client software - Which is given a list of available Memcached servers
2. A client-based hashing algorithm - Chooses a server based on the "key"
3. Server software - Stores values and their keys into an internal hash table
4. LRU - Determines when to throw out old data or reuse memory
Each item is comprised of a key, expiration time, and raw data.
At a high-level Memcached works as follows:
Read More On How To Improve Performance Of Your Rails App