专栏名称: macrozheng
专注Java技术分享,解析优质开源项目。涵盖SpringBoot、SpringCloud、Docker、K8S等实用技术,作者Github开源项目mall(50K+Star)。
今天看啥  ›  专栏  ›  macrozheng

小白眼中的Redis。。。

macrozheng  · 公众号  · 后端 科技自媒体  · 2024-12-10 10:32
    

主要观点总结

本文介绍了如何通过添加Redis缓存服务来解决商品服务面对大流量查询时的问题,通过本地缓存和远程缓存的方式优化查询性能,并提供了Redis的多种数据类型支持、内存过期策略、缓存淘汰机制、持久化能力等相关知识的介绍。同时,推荐了一个电商系统开源项目mall及其视频教程。

关键观点总结

关键观点1: Redis作为远程字典服务解决大流量查询问题

通过添加Redis缓存服务,将mysql中的数据存放到内存中,提高查询性能,解决mysql顶不住大流量查询的问题。

关键观点2: Redis支持多种数据类型和缓存策略

Redis除了支持字符串类型的缓存,还提供了先进先出的队列List、用于去重的Set类型、用于排行榜的ZSet等数据结构。同时,还提供了内存过期策略和缓存淘汰机制,以优化内存使用。

关键观点3: Redis的持久化能力

Redis通过RDB和AOF两种方式实现数据的持久化,确保服务重启后数据不会丢失。

关键观点4: 推荐电商系统开源项目mall及其视频教程

文章推荐了一个电商系统开源项目mall,并提供了详细的视频教程。该项目涵盖了电商系统的各个模块,包括购物车、订单、支付等,同时采用了最新的微服务项目实战技术和Kubernetes容器化部署。


文章预览

Boot+Cloud项目学习: macrozheng.com 是一个程序员,你维护了一个 商品服务,它背后直连 mysql 数据库。假设商品服务需要对外提供 每秒 1w 次查询,但背后的 mysql 却只能提供每秒 5k 次查询,那 mysql 根本顶不住!分分钟会被压垮。 这类大流量查询场景非常常见,比如双十一秒杀和春节抢车票。那么问题就来了,有没有办法在 mysql 不被压垮的同时,让商品服务支持每秒 1w 次查询 ?当然有, 没有什么是加一层中间层不能解决的,如果有,那就再加一层 。这次我们要加的中间层是 Redis 。 本地缓存 我们知道,查询内存的速度比查询磁盘要快, mysql 数据主要存放在磁盘里,如果能将 mysql 里的数据放内存里,查询完全不走磁盘,那必然能大大提升查询性能。 我们很容易想到,可以在商品服务的内存中,申请一个字典,在 python 里叫 dict,在 java 里叫 map。 key ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览