Amazon S3 vs Redis

Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Amazon S3
Amazon S3

13.9K
8K
+ 1
2K
Redis
Redis

14.3K
9.4K
+ 1
3.8K
Add tool

Amazon S3 vs Redis: What are the differences?

Amazon S3: Store and retrieve any amount of data, at any time, from anywhere on the web. Amazon Simple Storage Service provides a fully redundant data storage infrastructure for storing and retrieving any amount of data, at any time, from anywhere on the web; Redis: An in-memory database that persists on disk. Redis is an open source, BSD licensed, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets.

Amazon S3 and Redis are primarily classified as "Cloud Storage" and "In-Memory Databases" tools respectively.

"Reliable", "Scalable" and "Cheap" are the key factors why developers consider Amazon S3; whereas "Performance", "Super fast" and "Ease of use " are the primary reasons why Redis is favored.

Redis is an open source tool with 37.1K GitHub stars and 14.3K GitHub forks. Here's a link to Redis's open source repository on GitHub.

reddit, Instacart, and Slack are some of the popular companies that use Redis, whereas Amazon S3 is used by reddit, Instacart, and Lyft. Redis has a broader approval, being mentioned in 3239 company stacks & 1732 developers stacks; compared to Amazon S3, which is listed in 3194 company stacks and 1559 developer stacks.

- No public GitHub repository available -

What is Amazon S3?

Amazon Simple Storage Service provides a fully redundant data storage infrastructure for storing and retrieving any amount of data, at any time, from anywhere on the web

What is Redis?

Redis is an open source, BSD licensed, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets.
Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Why do developers choose Amazon S3?
Why do developers choose Redis?

Sign up to add, upvote and see more prosMake informed product decisions

Jobs that mention Amazon S3 and Redis as a desired skillset
What companies use Amazon S3?
What companies use Redis?

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with Amazon S3?
What tools integrate with Redis?

Sign up to get full access to all the tool integrationsMake informed product decisions

What are some alternatives to Amazon S3 and Redis?
Amazon Glacier
In order to keep costs low, Amazon Glacier is optimized for data that is infrequently accessed and for which retrieval times of several hours are suitable. With Amazon Glacier, customers can reliably store large or small amounts of data for as little as $0.01 per gigabyte per month, a significant savings compared to on-premises solutions.
Amazon EBS
Amazon EBS volumes are network-attached, and persist independently from the life of an instance. Amazon EBS provides highly available, highly reliable, predictable storage volumes that can be attached to a running Amazon EC2 instance and exposed as a device within the instance. Amazon EBS is particularly suited for applications that require a database, file system, or access to raw block level storage.
Amazon EC2
It is a web service that provides resizable compute capacity in the cloud. It is designed to make web-scale computing easier for developers.
Google Drive
The Drive SDK gives you a group of APIs along with client libraries, language-specific examples, and documentation to help you develop apps that integrate with Drive. The core functionality of Drive apps is to download and upload files in Google Drive. However, the Drive SDK provides a lot more than just storage.
Microsoft Azure
Azure is an open and flexible cloud platform that enables you to quickly build, deploy and manage applications across a global network of Microsoft-managed datacenters. You can build applications using any language, tool or framework. And you can integrate your public cloud applications with your existing IT environment.
See all alternatives
Decisions about Amazon S3 and Redis
Dmitry Mukhin
Dmitry Mukhin
at Uploadcare · | 15 upvotes · 47.8K views
atUploadcareUploadcare
PostgreSQL
PostgreSQL
Amazon DynamoDB
Amazon DynamoDB
Amazon S3
Amazon S3
Redis
Redis
Python
Python
Google App Engine
Google App Engine

Uploadcare has built an infinitely scalable infrastructure by leveraging AWS. Building on top of AWS allows us to process 350M daily requests for file uploads, manipulations, and deliveries. When we started in 2011 the only cloud alternative to AWS was Google App Engine which was a no-go for a rather complex solution we wanted to build. We also didn’t want to buy any hardware or use co-locations.

Our stack handles receiving files, communicating with external file sources, managing file storage, managing user and file data, processing files, file caching and delivery, and managing user interface dashboards.

At its core, Uploadcare runs on Python. The Europython 2011 conference in Florence really inspired us, coupled with the fact that it was general enough to solve all of our challenges informed this decision. Additionally we had prior experience working in Python.

We chose to build the main application with Django because of its feature completeness and large footprint within the Python ecosystem.

All the communications within our ecosystem occur via several HTTP APIs, Redis, Amazon S3, and Amazon DynamoDB. We decided on this architecture so that our our system could be scalable in terms of storage and database throughput. This way we only need Django running on top of our database cluster. We use PostgreSQL as our database because it is considered an industry standard when it comes to clustering and scaling.

See more
Russel Werner
Russel Werner
Lead Engineer at StackShare · | 15 upvotes · 166.1K views
atStackShareStackShare
Redis
Redis
CircleCI
CircleCI
Webpack
Webpack
Amazon CloudFront
Amazon CloudFront
Amazon S3
Amazon S3
GitHub
GitHub
Heroku
Heroku
Rails
Rails
Node.js
Node.js
Apollo
Apollo
Glamorous
Glamorous
React
React
#FrontEndRepoSplit
#Microservices
#SSR
#StackDecisionsLaunch

StackShare Feed is built entirely with React, Glamorous, and Apollo. One of our objectives with the public launch of the Feed was to enable a Server-side rendered (SSR) experience for our organic search traffic. When you visit the StackShare Feed, and you aren't logged in, you are delivered the Trending feed experience. We use an in-house Node.js rendering microservice to generate this HTML. This microservice needs to run and serve requests independent of our Rails web app. Up until recently, we had a mono-repo with our Rails and React code living happily together and all served from the same web process. In order to deploy our SSR app into a Heroku environment, we needed to split out our front-end application into a separate repo in GitHub. The driving factor in this decision was mostly due to limitations imposed by Heroku specifically with how processes can't communicate with each other. A new SSR app was created in Heroku and linked directly to the frontend repo so it stays in-sync with changes.

Related to this, we need a way to "deploy" our frontend changes to various server environments without building & releasing the entire Ruby application. We built a hybrid Amazon S3 Amazon CloudFront solution to host our Webpack bundles. A new CircleCI script builds the bundles and uploads them to S3. The final step in our rollout is to update some keys in Redis so our Rails app knows which bundles to serve. The result of these efforts were significant. Our frontend team now moves independently of our backend team, our build & release process takes only a few minutes, we are now using an edge CDN to serve JS assets, and we have pre-rendered React pages!

#StackDecisionsLaunch #SSR #Microservices #FrontEndRepoSplit

See more
Cyril Duchon-Doris
Cyril Duchon-Doris
CTO at My Job Glasses · | 9 upvotes · 17.4K views
atMy Job GlassesMy Job Glasses
Slack
Slack
Amazon CloudWatch
Amazon CloudWatch
Rails
Rails
Sidekiq
Sidekiq
Redis
Redis
Amazon SNS
Amazon SNS
Amazon S3
Amazon S3
Amazon SES
Amazon SES
AWS Lambda
AWS Lambda

We decided to use AWS Lambda for several serverless tasks such as

  • Managing AWS backups
  • Processing emails received on Amazon SES and stored to Amazon S3 and notified via Amazon SNS, so as to push a message on our Redis so our Sidekiq Rails workers can process inbound emails
  • Pushing some relevant Amazon CloudWatch metrics and alarms to Slack
See more
Django
Django
Redis
Redis

I use Redis because, based on the case studies I have reviewed, it appears to be the most performant cache database for my Django projects. The ease of configuration and deployment is also a big plus.

Using both higher level view caching as well as low-level QuerySet caching with Redis has allowed me to improve HTTP request times by an order of magnitude.

See more
Pedro Arnal Puente
Pedro Arnal Puente
CTO at La Cupula Music SL · | 7 upvotes · 29.4K views
atLa Cupula Music SLLa Cupula Music SL
Ansible
Ansible
Packer
Packer
Terraform
Terraform
Amazon ElastiCache
Amazon ElastiCache
Redis
Redis
Amazon RDS for Aurora
Amazon RDS for Aurora
Amazon S3
Amazon S3
Amazon EC2
Amazon EC2
Debian
Debian

Our base infrastructure is composed of Debian based servers running in Amazon EC2 , asset storage with Amazon S3 , and Amazon RDS for Aurora and Redis under Amazon ElastiCache for data storage.

We are starting to work in automated provisioning and management with Terraform , Packer , and Ansible .

See more
Robert Zuber
Robert Zuber
CTO at CircleCI · | 22 upvotes · 88.6K views
atCircleCICircleCI
Amazon S3
Amazon S3
GitHub
GitHub
Redis
Redis
PostgreSQL
PostgreSQL
MongoDB
MongoDB

We use MongoDB as our primary #datastore. Mongo's approach to replica sets enables some fantastic patterns for operations like maintenance, backups, and #ETL.

As we pull #microservices from our #monolith, we are taking the opportunity to build them with their own datastores using PostgreSQL. We also use Redis to cache data we’d never store permanently, and to rate-limit our requests to partners’ APIs (like GitHub).

When we’re dealing with large blobs of immutable data (logs, artifacts, and test results), we store them in Amazon S3. We handle any side-effects of S3’s eventual consistency model within our own code. This ensures that we deal with user requests correctly while writes are in process.

See more
Interest over time
Reviews of Amazon S3 and Redis
Review ofRedisRedis

Redis is a good caching tool for a cluster, but our application had performance issues while using Aws Elasticache Redis since some page had 3000 cache hits per a page load and Redis just couldn't quickly process them all in once + latency and object deseialization time - page load took 8-9 seconds. We create a custom hybrid caching based on Redis and EhCache which worked great for our goals. Check it out on github, it's called HybriCache - https://github.com/batir-akhmerov/hybricache.

Review ofAmazon S3Amazon S3

Insanely low prices, quite easy to use, and they're fast. Plus they provide great support. And they're integrated with other AWS services, like CloudFront.

Seriously, this is the best service of it's kind out there.

How developers use Amazon S3 and Redis
Avatar of Cloudcraft
Cloudcraft uses RedisRedis

Redis is used for storing all ephemeral (that's data you don't necessarily want to store permanently) user data, such as mapping of session IDs (stored in cookies) to current session variables at Cloudcraft.co. The many datastructures supported by Redis also makes it an excellent caching and realtime statistics layer. It doesn't hurt that the author, Antirez, is the nicest guy ever! These days, I would be really hard pressed to find any situation where I would pick something like Memcached over Redis.

Avatar of Trello
Trello uses RedisRedis

Trello uses Redis for ephemeral data that needs to be shared between server processes but not persisted to disk. Things like the activity level of a session or a temporary OpenID key are stored in Redis, and the application is built to recover gracefully if any of these (or all of them) are lost. We run with allkeys-lru enabled and about five times as much space as its actual working set needs, so Redis automatically discards data that hasn’t been accessed lately, and reconstructs it when necessary.

Avatar of Stack Exchange
Stack Exchange uses RedisRedis

The UI has message inbox that is sent a message when you get a new badge, receive a message, significant event, etc. Done using WebSockets and is powered by redis. Redis has 2 slaves, SQL has 2 replicas, tag engine has 3 nodes, elastic has 3 nodes - any other service has high availability as well (and exists in both data centers).

Avatar of CloudRepo
CloudRepo uses Amazon S3Amazon S3

We store the software components that CloudRepo stores for its customers here for the following reasons:

  • Data is Encrypted at Rest
  • Data is stored across multiple physical locations
  • Pricing is competitive
  • Reliability is industry leading and our customers need to be able to access their data at all times list text here
Avatar of Brandon Adams
Brandon Adams uses RedisRedis

Redis makes certain operations very easy. When I need a high-availability store, I typically look elsewhere, but for rapid development with the ability to land on your feet in prod, Redis is great. The available data types make it easy to build non-trivial indexes that would require complex queries in postgres.

Avatar of Yelp
Yelp uses Amazon S3Amazon S3

In October 2008 we moved to using scribe (now a custom branch), which has served us very well over the past 5+ years that we’ve been using it. We take the logs scribe aggregates and move them into Amazon S3 for storage, which makes using EMR on AWS seamless.

Avatar of cloak.ly
cloak.ly uses Amazon S3Amazon S3

S3 serves as zero-knowledge temporary storage. Files are encrypted in the browser before being uploaded in chunks to S3. When the target recipient downloads them the chunks are reassembled and decrypted in the browser. Files expire after a week and the encrypted chunks are permanently deleted from S3.

Avatar of Kent Steiner
Kent Steiner uses RedisRedis

I use Redis for cacheing, data storage, mining and augmentation, proprietary distributed event system for disparate apps and services to talk to each other, and more. Redis has some very useful native data types for tracking, slicing and dicing information.

Avatar of CloudRepo
CloudRepo uses Amazon S3Amazon S3

Since we generate a static website for our website, AWS S3 provides hosting for us so that we don't have to run our own servers just to serve up static content.

The pricing is great as you only pay for what you use.

Avatar of Tana
Tana uses Amazon S3Amazon S3

This object storage is always evolving and getting harder to explain. We use it for 1) hosting every static websites, 2) datalake to store every transaction and 3) query with Athena / S3 Select.

How much does Amazon S3 cost?
How much does Redis cost?
Pricing unavailable