One might think that he made a mistake when he said we add an entry with key 'hello' and value 'world' but acutally showed 'hi' 'mom'. This is actually just to show that his mom means the world to him
I think we need a "gRPC explained in 100 seconds" video! I couldn't find any quick and straight to the point video anywhere :( Thanks! [edit: fixed typos]
Absolutely reckless from this content creator to not even provide a disclaimer that you cannot in a real production system depend on an in memory db as the primary solution. Absolute garbage.
Absolutely. If you’ve ever had the displeasure of working on a system that required a relational database but instead was stuffed into something like redis you know how garbage this is.
But redis is still ultimately single-threaded application. How does modules solve this issue? The more complex the load, the slower it becomes. Sure, it can handle dozens of thousands (hundreds even) get/set requests but what will happen with this complex stuff (search/json etc)? Another point - persistence. To use redis as *primary db* persistence is a must (otherwise what is the point of DB if simple reboot will wipe everything out). Enter AOF/RDB, which dramatically increases requirements for RAM and slows things down (because storage is now involved) Wanna scale? Enter replication / cluster with tradeoffs of their own Wanna do it all yourself? That's pretty complex stuff right there and requires ops expertise. Wanna use json/search/bloom/etc modules? Welcome to redis cloud Using DB in the cloud? Yeaaah, very good idea to go from your backend to different DC for primary data or (even better) cache..... Redis is great, but it's far from "one size fits all" solution especially for "primary DB" role
Finally someone who has used Redis in a production environment! Only when you design a large scale infrastructure, you realise these "Hello world" tutorials teach you nothing.
Coincidentally I’ve had a funny conversation with my colleague in the morning arguing about whether or not redis can be used as persistent storage. I’ll share this video with him now 😂
Nice to see our work, that used in real life, an year of working:-))) Was very cool be a part of team and work on the UI of this redis web application:-) Hope you love it, guys!:-)
now i can understand how 100sec is important in life. If I spend a 100 sec per day in your tutorial then i will learn so many things. thanks for you hard work.
It's a crazy offer, and the best thing is no credit card and there is a free tier. Thank you, Jeff, and the awesome people at Redis. I hope that I'll win that Tesla.
I hope you love the new UI. Was a part of a front-end team, why built it. So cool to see our work on videos :-) Thanks for doing those lesson my friend.
Looks like he's spying on my google searches again 😂! (Fireship, you're awesome thank you for making videos the exact time I need them 😀 I think I know what you're gonna upload next hehe)
Nice video, as always. I don't think it answers the question, though. My preconception about Redis is that it will not handle storing large amount of data with complex relations. The amount of data and complexity is relative, but when building a new project, forward-thinking is important. Will it scale well ( cost effectively ) ?
Probably not. Just look at how expensive redis memory is compared to a traditional db. Also, you deal with non persistence because of in memory db, and others. It's nice to be promoted to show how to write an app like this, but you're lying to now a million people if you don't mention the downsides. Remember fireship is really good at editing videos and explaining programming in general, not necessarily at running things at scale.
Redis does offer a way to scale horizontally (memory) with Redis clustering. However, there is no way to run clustered Redis without the risk of data loss.
@@bigmistqke Probably because in-memory db gets cleaned up when the environment it's in the memory of shuts down or cycles like any other in-memory data store and you're another skip away from actual persistence with Redis Cloud, presumably you're pushing data back from the in-memory store to wherever Redis Cloud is hosted
@@edgarasben storage amount, literal only issue, your storage is RAM and you also need to persistently store that storage somewhere, so it loses the point of being a main database
@@specy_ but what's the actual storage limit? Maybe that's enough for certain projects with certain data requirements. As I can see from docs, it can handle up to 4.3B keys per instance (in practice handling 250M keys per instance). And every has can hold up to 4.3B elements. For me this sounds more than enough for most medium web projects.
@@edgarasben yes but...u need the storage for that, and storage us ram which is hyper expensive. The free tier from the video is a mere 30MB, you can maybe store some very basic login user data but that's it
First comment on RUclips ever. I had to say this is probably the highest quality tutorial / walk-through I've seen Thanks a lot Jeff for the work, we are deeply grateful
How cost efficient is Redis? There's a lot of info on tech features, but I have yet to find a comprehensive analysis of different database solutions. At the end of the day, choosing a database is a business decision, so I really wish the monetary aspect was more developed
Nice little tutorial! This is all most devs need to build small apps. I really need to dive into Next...I'm still building things w/ CRA (happily...but SSR would be nice.)
Just incase anyone else is getting a 500 with an error of 'this.writeEntity is not a function'. In redis.js, change out: From: const repository = new Repository(schema, client); To: const repository = client.fetchRepository(schema);
thank you for this short yet very informative video. I wish in the schema you used types other than 'string' as that causes some errors when stringifying form data before sending it to the backend
This video promotes the idea that Redis is fine to use when you need consistency and safety, it is NOT. It's really important to understand that in all of Redis' high availability modes, some data loss is normal. There are ways to mitigate that to some degree (not completely!), but they sacrifice Redis' performance gains. RedisRaft is working to improve this, but it is not production ready.
Why do you think not any big project actually use Redis as a primary database ? This video is just marketing and pure lies. You cannot scale with such system, disk drive memory cost way less than ram and nowadays we are at the ssd nvme technology where the disk drive speed won't really be the bottleneck anyway. + Ram can be corrupted by bit flushing..
Is there a way to cut Redis Enterprise Cloud out of this if you have just your own database? I assume I could some how get all my databse entries and store them in redis and then query the redis store in the same way some how? Is that viable?
Yes, I would recommend using docker to run locally. This image has everything you need, then deploy wherever you want hub.docker.com/r/redislabs/redismod
@@Fireship Thanks very much for this. So does this mean I could populate my redis store from say my own postgres database and then just query the redis store in the same way you did?
This is fantastic, thank you! I'm curious to try out the Redis time-series module as well, maybe that could go in your list of future video ideas? Thanks a lot for the credits too
Awesome work! By the way could I ask how you configure your formatter to format on save making that tidy format not each method call each line. I use prettier :")
can these features be ran locally and be cloudless? mainly talking about the full text search stuff. It sure looks nice, but way back in 2011 they were reminding us devs this was NOT A DATABASE. That’s why I never bothered using this… I mean why use this when in-memory caching was usually already baked in to the language you were using.
It's facinating that Redis evolved from a simple cache store to a fully multimodal database! But when you use Redis as primary DB not only it will make you app fast, but also your credits lose rate on AWS, because Memcache is very expensive 🔥
This is a pretty crazy offer from Redis Enterprise Cloud… $200 in free credits, plus someone is gonna win a Tesla 🏎️ redis.info/fireship200
Watership
lavaship
Loveship
Does Redis Cloud has serverless functions and a graphql integration?
Will the credit expired if I'm not using it? I've already claim the coupon, but I need to rewrite my app database model tho
One might think that he made a mistake when he said we add an entry with key 'hello' and value 'world' but acutally showed 'hi' 'mom'. This is actually just to show that his mom means the world to him
Wow
It's not that deep
@@larrykipkemoi6958his post today suggests it was
His mom just died and confirmed this easter egg
The FormData approach was something I'll be using for sure starting today. Pretty cool tip
Timestamp?
@@arcticape445 Starting roughly from 8:00
It reminded me of Django,
Guess I'm not the only one
I think we need a "gRPC explained in 100 seconds" video!
I couldn't find any quick and straight to the point video anywhere :(
Thanks!
[edit: fixed typos]
+1 would love this too
Second this!
+1
lmao I like how you wrote the edit message like a commit message
Thanks for featuring my library. I'm bracing for impact!
😶 fr?
@@thelitterateman Yup.
redis-om rocks!
i love this guy, but i hate that there is so cool tech out there i don't know
Then you don't know many things
Lol i feel That
Actually that's the best part of software industry. There is so much to learn.
yeah right? sometimes it's a little anxiety-inducing 😅
@@Brunoenribeiro but when you start learning it you are so hyped and happy :D
I don't think this addresses most concerns developers would have with using this as a database instead of a relational database.
It's completely ridiculous as every developer will understand. But hey, at least they put out their marketing video.
Absolutely reckless from this content creator to not even provide a disclaimer that you cannot in a real production system depend on an in memory db as the primary solution. Absolute garbage.
@@biro2200 lol
Absolutely. If you’ve ever had the displeasure of working on a system that required a relational database but instead was stuffed into something like redis you know how garbage this is.
lol your profile pic is on point
I love Next.JS and this is one of the best video from this channel! Can't wait to try the Redis DB approach!
3:00 one of the best summarize of data structures I have seen so far.
clear and very fast paced, wouldnt want it any other way from fireship, 10/10 content
But redis is still ultimately single-threaded application. How does modules solve this issue? The more complex the load, the slower it becomes. Sure, it can handle dozens of thousands (hundreds even) get/set requests but what will happen with this complex stuff (search/json etc)?
Another point - persistence. To use redis as *primary db* persistence is a must (otherwise what is the point of DB if simple reboot will wipe everything out). Enter AOF/RDB, which dramatically increases requirements for RAM and slows things down (because storage is now involved)
Wanna scale? Enter replication / cluster with tradeoffs of their own
Wanna do it all yourself? That's pretty complex stuff right there and requires ops expertise.
Wanna use json/search/bloom/etc modules? Welcome to redis cloud
Using DB in the cloud? Yeaaah, very good idea to go from your backend to different DC for primary data or (even better) cache.....
Redis is great, but it's far from "one size fits all" solution especially for "primary DB" role
Thank you for pointing these "catches"
Exactly. The cloud is just pointless, you lose all the speed you gained by ping and network bottleneck.
Finally someone who has used Redis in a production environment!
Only when you design a large scale infrastructure, you realise these "Hello world" tutorials teach you nothing.
I don't think he's saying you SHOULD use redis as a primary DB. All he's saying is you CAN, assuming you're prepared for the consequences.
@@TheAndre2131 No, he's talking about it like it's the best technology. All modern databases work in-memory, that's why they are hungry for RAM.
not only database, RedisStream can be used for Event Driven Architecture.
maybe for your next video? ;-)
You should definitely not use Redis for event driven architecture...
@@uziboozy4540 yeah. redis will not keep your messages if consumers arent online
@@crockz0r On the subscriptions page it shows that the pricier plans support data persistence. Would that not solve the problem?
@@jasonbourne485 maybe but i'm not sure
@@jasonbourne485 why pay when there are free alternatives designed specifically for those things such as apache kafka and rabbitMQ?
Coincidentally I’ve had a funny conversation with my colleague in the morning arguing about whether or not redis can be used as persistent storage. I’ll share this video with him now 😂
Maybe if you are super rich
Coincidentally, I was struggling with algolia for my app because of my limited funds.
WTF? RTFM!
@@kabirchawla4325 I still think algolia is a better service to plug and code than redis that change your infrastructure code
yes but it can't compete with other more mature solutions :P
This man will singlehandedly make me write not "Hello World!" but "hi mom" programs.
First learned about REDIS in like 2016 and its been my fav db
Nice to see our work, that used in real life, an year of working:-))) Was very cool be a part of team and work on the UI of this redis web application:-) Hope you love it, guys!:-)
Great video as always. I would love to see a video on how to develop and deploy your own npm package.
with typescript, if possible 🙏
@@Brunoenribeiro and angular if possible, enough of react, lets get back to old fireship
@@AnimusAgent React > Angular
@@ruffyg1433 no Angular > React
Svelte 💪
The only tech videos on RUclips that I don't need to watch in 1.5x to make interesting. Definitely need to go play with Redis now
Awesome video and I love you are getting sponsors. Your content is so good, it is a win win!
now i can understand how 100sec is important in life. If I spend a 100 sec per day in your tutorial then i will learn so many things. thanks for you hard work.
That’s so sweet. Your mom is your world.
Amazing content, I’d love to see more like this. I’d also like to see you do bigger apps over multiple videos.
Man I love you, is like every time I need something specific you come up with the video
It's a crazy offer, and the best thing is no credit card and there is a free tier. Thank you, Jeff, and the awesome people at Redis. I hope that I'll win that Tesla.
I hope you love the new UI. Was a part of a front-end team, why built it. So cool to see our work on videos :-)
Thanks for doing those lesson my friend.
who wehre what
A friend of Mike's dad is actually a employee of redis, so I feel super lucky to have such a massive contact so I can learn more like this
who's mike
awesome! Would love to see more Redis-related content!
Looks like he's spying on my google searches again 😂! (Fireship, you're awesome thank you for making videos the exact time I need them 😀 I think I know what you're gonna upload next hehe)
Nice video, as always. I don't think it answers the question, though. My preconception about Redis is that it will not handle storing large amount of data with complex relations. The amount of data and complexity is relative, but when building a new project, forward-thinking is important. Will it scale well ( cost effectively ) ?
Probably not. Just look at how expensive redis memory is compared to a traditional db. Also, you deal with non persistence because of in memory db, and others. It's nice to be promoted to show how to write an app like this, but you're lying to now a million people if you don't mention the downsides. Remember fireship is really good at editing videos and explaining programming in general, not necessarily at running things at scale.
Redis does offer a way to scale horizontally (memory) with Redis clustering. However, there is no way to run clustered Redis without the risk of data loss.
@@guillemgarcia3630 wdym w 'non-persistence because of in-memory db'?
@@bigmistqke Probably because in-memory db gets cleaned up when the environment it's in the memory of shuts down or cycles like any other in-memory data store and you're another skip away from actual persistence with Redis Cloud, presumably you're pushing data back from the in-memory store to wherever Redis Cloud is hosted
@@bigmistqke basically it means the data stored in redis is volatile because redis runs on RAM of the system
Most applications don't have enough data to require mongo for storage, and actually would work with redis
but when the app scales, what would happen?
What are the Redis limits?
@@edgarasben storage amount, literal only issue, your storage is RAM and you also need to persistently store that storage somewhere, so it loses the point of being a main database
@@specy_ but what's the actual storage limit? Maybe that's enough for certain projects with certain data requirements. As I can see from docs, it can handle up to 4.3B keys per instance (in practice handling 250M keys per instance). And every has can hold up to 4.3B elements.
For me this sounds more than enough for most medium web projects.
@@edgarasben yes but...u need the storage for that, and storage us ram which is hyper expensive. The free tier from the video is a mere 30MB, you can maybe store some very basic login user data but that's it
this is soo good, keep up the good work bro
First comment on RUclips ever. I had to say this is probably the highest quality tutorial / walk-through I've seen
Thanks a lot Jeff for the work, we are deeply grateful
is this your 1st time on the internet?
Please more Next.js content ASAP!!! Great video
He writes "hi mom" in his example but narrates saying "hello world". this is because his mom is his world
I love this full stack redis content... Gotta give this a try on my next project!
Thanks for the great video! After a rough few months involving a family tragedy, this video got me excited about building web apps again.
I understand
Great video. Would love to see more content about redis and socket and next js
Would love to see these projects developed in Typescript. I've lost my taste for raw js with no Intellisense or type checking.
yes, but what about relations between models?
I'm loving the next.js content.
"Let's add a key of Hello and a value of World" *adds value of mom* :D
Love the pace.
8:19 thanks for this one!!
OMG you're coming clutch
I just started an internship and they use Redis!
I've been waiting 84 years for this video
Can you explain how indexes work? Thanks!!! Love your vids
How cost efficient is Redis? There's a lot of info on tech features, but I have yet to find a comprehensive analysis of different database solutions. At the end of the day, choosing a database is a business decision, so I really wish the monetary aspect was more developed
This would be perfect for a startup or MVP. Long term you'll want to use a specific DB for the particular use case.
Great video, great content. Thank you Fireship :D
YES YES YES!!!!!!!
next.js with a DATABASE
and that too REDDIS!!!!!!!!
My friend, you are a galactic level awesome person! Thank you very much for this content!
Please do more Redis content
can't thank you enough for all the amazing work.
Convert from data to object 8:12 (watched this video a few hours ago, now using this in something I am creating)
WOW Redis looks amazing. How did I not know anything about it ?
If you can handle it Redis is pretty fucking awesome.
Every piece of this video is very useful.
Lovely 13mins
Nice little tutorial! This is all most devs need to build small apps. I really need to dive into Next...I'm still building things w/ CRA (happily...but SSR would be nice.)
Just incase anyone else is getting a 500 with an error of 'this.writeEntity is not a function'. In redis.js, change out:
From:
const repository = new Repository(schema, client);
To:
const repository = client.fetchRepository(schema);
Great video more reddis and node js please!
thank you for this short yet very informative video. I wish in the schema you used types other than 'string' as that causes some errors when stringifying form data before sending it to the backend
Could you elaborate? Cuz I am facing an "Uncaught (in promise) SyntaxError" now.
Wondering what causes it.
Can you make more videos related to this stack please? Redis is gaining popularity.
I love how you used hi mom instead of hello world
Thank you for your service. Braver than the troops
It would be cool if you could go more into why/when someone should use this over more specialized or other solutions with the same features.
Oh, yeah. That's what quality content is.
Brazil mentioned @ 9:10 Fireship please come to Brazil
didn't know redis was so cool!
This video promotes the idea that Redis is fine to use when you need consistency and safety, it is NOT. It's really important to understand that in all of Redis' high availability modes, some data loss is normal.
There are ways to mitigate that to some degree (not completely!), but they sacrifice Redis' performance gains. RedisRaft is working to improve this, but it is not production ready.
Excelent explanation!!
No conocía Redis. Ya quiero usarlo
I'm wondering about scaling redis, with a lot of data the cost will be way higher than a normal MySQL database? since it uses the machine ram
Why do you think not any big project actually use Redis as a primary database ? This video is just marketing and pure lies.
You cannot scale with such system, disk drive memory cost way less than ram and nowadays we are at the ssd nvme technology where the disk drive speed won't really be the bottleneck anyway.
+ Ram can be corrupted by bit flushing..
I find it so random they are giving away a Tesla haha, love it!
Great tutorial. Ive been using redis upstash on a few projects.
awesome video! By the way, what vscode icon theme do you use?
I legit watch this just for fun. I don't even use redis nor nextjs.
super useful and to the point!
Is there a way to cut Redis Enterprise Cloud out of this if you have just your own database? I assume I could some how get all my databse entries and store them in redis and then query the redis store in the same way some how? Is that viable?
Yes, I would recommend using docker to run locally. This image has everything you need, then deploy wherever you want hub.docker.com/r/redislabs/redismod
@@Fireship Thanks very much for this. So does this mean I could populate my redis store from say my own postgres database and then just query the redis store in the same way you did?
Really good tutorial. Thanks
Well if data is the volatile part of the memory, I wouldn't wanna store data in RAM. If it's persistent how is it different from sql Or noSql
Redis also persists to the disk so it can be rebuilt to RAM when the db is restarted.
Redis can dumb data to disk at intervals that you choose. Also, after an x amount of changes.
This is fantastic, thank you! I'm curious to try out the Redis time-series module as well, maybe that could go in your list of future video ideas? Thanks a lot for the credits too
awesome!! would love to see Nextjs with Planescale though!!
Jeff is still my favourite tech youtuber
wow nice video , I love Redis
That form trick is really 😎, thanks a lot fireship.
Can you do pgRest in 100 seconds
Pretty cool, thanks for sharing.
I love redis.. I use it to serve like 400ish ai models amazingly
I really like to see videos about microservices on your channel.
Video ideas:
- Redis with MongoDB
- Redis with MySQL
- Using Redis Graph
What about web3 video? When we can expect it?
Fantastic demo, thanks. Please do more Next.js, it's pretty hot rn and there is clear functional improvement over react alone.
Hash data structure? I can tell you love your Ruby. Isn’t it a map?
Probably hash table.
"Hash" is the terminology used by Redis.
@@akxdev wow, quite surprised; thanks for the clarification
You never miss.
When is the best time to close the connection to to the redis client? After each api call or after a certain event like no keystrokes?
Redis is excellent for caching and for non-important data. For everything else, please use a RDS
I'd love to see a video on using Flutter with API and database 🚀
Awesome work! By the way could I ask how you configure your formatter to format on save making that tidy format not each method call each line. I use prettier :")
If i want to create an app. Which database should i use for accounts and user statistics for example. ??
can these features be ran locally and be cloudless? mainly talking about the full text search stuff. It sure looks nice, but way back in 2011 they were reminding us devs this was NOT A DATABASE. That’s why I never bothered using this… I mean why use this when in-memory caching was usually already baked in to the language you were using.
It's facinating that Redis evolved from a simple cache store to a fully multimodal database!
But when you use Redis as primary DB not only it will make you app fast, but also your credits lose rate on AWS, because Memcache is very expensive 🔥