Redis的5个常见使用场景
Redis的五个常见使用场景
1、会话缓存(Session Cache)
最常用的一种使用Redis的情景是会话缓存(session cache)。用Redis缓存会话比其他存储(如Memcached)的优势在于:Redis提供持久化。当维护一个不是严格要求一致性的缓存时,如果用户的购物车信息全部丢失,大部分人都会不高兴的,现在,他们还会这样吗?
幸运的是,随着 Redis 这些年的改进,很容易找到怎么恰当的使用Redis来缓存会话的文档。甚至广为人知的商业平台Magento也提供Redis的插件。
2、全页缓存(FPC)
除基本的会话token之外,Redis还提供很简便的FPC平台。回到一致性问题,即使重启了Redis实例,因为有磁盘的持久化,用户也不会看到页面加载速度的下降,这是一个极大改进,类似PHP本地FPC。
再次以Magento为例,Magento提供一个插件来使用Redis作为全页缓存后端。
此外,对WordPress的用户来说,Pantheon有一个非常好的插件 wp-redis,
这个插件能帮助你以最快速度加载你曾浏览过的页面。
3、队列(秒杀,抢购,12306)list数据类型的使用
Reids在内存存储引擎领域的一大优点是提供 list 和 set 操作,这使得Redis能作为一个很好的消息队列平台来使用。Redis作为队列使用的操作,就类似于本地程序语言(如Python)对 list 的 push/pop 操作。
如果你快速的在Google中搜索“Redis queues”,你马上就能找到大量的开源项目,这些项目的目的就是利用Redis创建非常好的后端工具,以满足各种队列需求。例如,Celery有一个后台就是使用Redis作为broker,你可以从这里去查看。
4、排行榜/计数器(set数据类型的使用)
Redis在内存中对数字进行递增或递减的操作实现的非常好。集合(Set)和有序集合(Sorted Set)也使得我们在执行这些操作的时候变的非常简单,Redis只是正好提供了这两种数据结构。所以,我们要从排序集合中获取到排名最靠前的10个用户–我们称之为“user_scores”,我们只需要像下面一样执行即可:
当然,这是假定你是根据你用户的分数做递增的排序。如果你想返回用户及用户的分数,你需要这样执行:
ZRANGE user_scores 0 10 WITHSCORES
Agora Games就是一个很好的例子,用Ruby实现的,它的排行榜就是使用Redis来存储数据的,你可以在这里看到。
5、发布/订阅
最后(但肯定不是最不重要的)是Redis的发布/订阅功能。发布/订阅的使用场景确实非常多。我已看见人们在社交网络连接中使用,还可作为基于发布/订阅的脚本触发器,甚至用Redis的发布/订阅功能来建立聊天系统!(不,这是真的,你可以去核实)。
Redis提供的所有特性中,我感觉这个是喜欢的人最少的一个,虽然它为用户提供如果此多功能。
Redis的5个常见使用场景相关推荐
- redis的安装以及常见运用场景
2019独角兽企业重金招聘Python工程师标准>>> 1.redis的安装 Window 下安装 下载地址:https://github.com/MSOpenTech/redis/ ...
- Redis的十大常见应用场景
一.缓存 作为Key-Value形态的内存数据库,Redis 最先会被想到的应用场景便是作为数据缓存.目前这几乎是所有中大型网站都在用的必杀技,合理的利用缓存不仅能够提升网站访问速度,还能大大降低数据 ...
- Redis专题-底层数据结构与使用场景
Redis介绍 Redis是一种基于键值对的NoSQL数据库,是一个基于内存中的数据结构存储系统,可以用作数据库.缓存和消息中间件.它支持以string(字符串),hash(哈希),list(列表), ...
- Redis五种数据类型及应用场景
Redis五种数据类型及应用场景 MySql+Memcached架构的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样 ...
- 2 万字 + 20张图| 细说 Redis 九种数据类型和应用场景
作者:小林coding 计算机八股文网(操作系统.计算机网络.计算机组成.MySQL.Redis):https://xiaolincoding.com 大家好,我是小林. 我们都知道 Redis 提供 ...
- 用户画像常见应用场景+技术实现
导读:今天和大家分享的主题是用户画像的场景与技术实现方案.主要分三大部分: 用户画像常见应用场景 画像产品功能 技术实现方案 01 常见应用场景 1. 画像常见的应用场景 不同行业业务属性不同,能采集 ...
- Redis五种数据结构及其使用场景
Redis五种数据结构及其使用场景 先有个概念,redis 数据库其实就是一个大的 map,它容纳了所有的 key, key 都是 string 类型,而 value 则有 string, list, ...
- JS闭包的理解及常见应用场景
JS闭包的理解及常见应用场景 一.总结 一句话总结: 闭包是指有权访问另一个函数作用域中的变量的函数 1.如何从外部读取函数内部的变量,为什么? 闭包:f2可以读取f1中的变量,只要把f2作为返回值, ...
- Redis支持的数据类型以及使用场景,持久化,哨兵机制,缓存击穿,缓存穿透
Redis支持的数据类型以及使用场景,持久化,哨兵机制,缓存击穿,缓存穿透 简单介绍一个redis? redis是内存中的数据结构存储系统,一个key-value类型的非关系型数据库,可持久化的数据库 ...
最新文章
- java md5 ios_iOS 自带MD5
- c# excel导出png_c#根据html模板导出excel
- 传统网站与Web标准——表格布局实例
- 《象与骑象人》总结一
- 投影元素直接隔离_摸着夜色上露台开投影,是巴塞罗那设计师的浪漫
- zabbix内网安装部署_zabbix2.4.8升级3.0.31操作部署记录
- C语言按位运算符 按位逻辑运算 移位运算 及其用法
- 中jsp加载不出来layui_加载页面信息,刷不出来心态都崩了
- 在如今的Web前端环境下,如何提升自己的竞争力?
- 谷歌云盘批量下载文件
- 手机wap网站制作教程
- 全开源-微信小程序(附开源地址)
- java+围棋+棋谱回放_聂卫平对战围棋高手Master完整比赛视频回放 全局棋谱复盘...
- Ubuntu HDMI连接后没有声音解决办法
- 动名词做主语时的谓语动词问题
- 计算机网络(三)—— 数据链路层(8、9):集线器与交换机的区别、以太网交换机自学习和转发帧的流程
- 【航天物流组参赛ReadMe.md】
- Go:包管理工具GOPATH、vendor、dep 、go module
- Eureka相关总结
- uniapp的colorUI安装教程