博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redis(序)应用场景
阅读量:6825 次
发布时间:2019-06-26

本文共 1018 字,大约阅读时间需要 3 分钟。

前言

在阅读了《大型网站技术架构:核心原理与案例分析》书后,稍微了解了Redis在大型网站架构中的应用场景和目的。

大型网站都是从小用户量,小流量的网站演变过来的,在小型网站的架构之初,Linux+Apache+PHP+Mysql即可实现。但是随着用户量持续增长,在LAPM架构中一个非常关键的点限制了网站性能:Mysql数据库

  • 在大用户量、大并发的场景中,Mysql数据库的磁盘I/O,多线程并发过程中表锁行锁都都极大程度上限制了网站的响应、吞吐量;
  • 对一些热点数据反复的查询造成不必要的磁盘I/O;

这些都降低了网站性能,增加了网站响应延迟、降低吞吐量。

因为这些问题的存在,内存读写/缓存势在必行。数据在内存,减少/避免磁盘IO。从而出现分布式缓存解决以上问题。

应用场景

Redis的应用场景诸多,这里也是总结工作中的应用和收集网友分享的内容。

  • 分布式缓存:Redis采用client-server的模式,所以对于分布式/集群环境中作为独立的cache server是个不错的选择;

  • NoSql数据库:在很多特殊场景中,关系型数据库并不非常适合表达业务模型时,Redis也是不错的选择;

以上两点是Redis的大方向上的应用!但是由于Redis提供的特性,它还支持其他的非常多的应用场景:

  • 作为全局队列:Redis提供了List列表的数据类型,先进先出。比如任务调度;

  • 应用在生产消费者模式或者发布订阅模式:Redis提供了List列表的数据类型,阻塞式读。Redis同时也提供了Pub/Sub支持;

  • 排行榜/评论排序:Redis提供了Sorted Set有序集合,可以应用在数据排序上;

  • 最新文章/评论:Redis提供了List列表的数据类型,且支持对List进行范围操作;

  • 用户登录状态:Redis有Bitmap可以存储关联一个对象事物的是否状态:0/1。如果用户ID是自增长,可以作为Bitmap的下标,是否登录用0/1表示。

  • 分布式Session:上面说了Redis可以作为分布式缓存,可以存储分布式Session。

  • 分布式锁:因为Redis的client-server模式和单线程特性,对于key的操作可以作为全局的唯一识别;

Redis还有很多应用场景,这里先暂时总结如此,后面发现更多的神级使用方式时,再继续更新。

转载于:https://www.cnblogs.com/lxyit/p/9491572.html

你可能感兴趣的文章
很好的东西
查看>>
没有 Python,微软宣布 Excel 新增 JavaScript 支持
查看>>
用70亿美元收购Mellanox,英伟达阔绰出手“打败”Intel ...
查看>>
北汽上汽广汽为有感科技站台:主机厂眼中的无线充电技术应具备什么? ...
查看>>
设计模式——外观模式
查看>>
struts2开发时通过interceptor拦截器实现输入数据过滤前后空格的功能 ...
查看>>
学C++走游戏方向,是不是非常艰难自找苦吃?
查看>>
名称,决定了平台的发展愿景——互联网平台建设系列 ...
查看>>
【图文】如何用云服务器搭建一个https的网站?
查看>>
对话赛灵思Gilles Garcia:深度糅合技术属性与客户需求,做极致的Xilinx式服务 ...
查看>>
我们的手机用上北斗导航了吗?
查看>>
MyBatis全局配置文件mybatis-config.xml
查看>>
rac库数据文件创建在os本地的解决办法
查看>>
SSH集成开发积分商城 之 11.3 实现积分商城层
查看>>
阿里巴巴AI夺肝结节诊断两项世界冠军,至今无人超越
查看>>
Salesforce的7步企业架构(EA)方法
查看>>
二叉树(二)
查看>>
react学习系列5 使用redux
查看>>
RxJava入门指南
查看>>
LiveVideoStack线上交流分享 ( 一 ) —— 解密GPU:视频转码与分析加速
查看>>