Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。

那么在什么业务场景适合使用Redis?来看看下面的详细介绍:

(1)会话缓存(Session Cache)

常用的一种使用Redis的情景是会话缓存(session cache)。用Redis缓存会话比其他存储(如Mem cached)的优势在于:Redis提供持久化。当维护一个不是严格要求一致性的缓存时,如果用户的购物车信息全部丢失,大部分人都会不高兴的,现在,他们还会这样吗?

幸运的是,随着Redis这些年的改进,很容易找到怎么恰当的使用Redis来缓存会话的文档。甚至广为人知的商业平台Magento也提供Redis的插件。

(2)全页缓存(FPC)

除基本的会话token之外,Redis 还提供很简便的FPC平台。回到一致性问题,即使重启了Redis实例,因为有磁盘的持久化,用户也不会看到页面加载速度的下降,这是一个极大改进,类似PHP本地FPC。

再次以Magento为例,Magento 提供一个插件来使用Redis 作为全页缓存后端。

此外,对WordPress的用户来说,Pantheon 有一个非常好的插件wp redis,这个插件能帮助你以快速度加载你曾浏览过的页面。

(3)队列

Reids在内存存储引擎领域的一-大优点是提供list和set操作,这使得Redis能作为一个很好的消息队列平台来使用。Redis作为队列使用的操作,就类似于本地程序语言(如Python)对list 的push/pop操作。

如果你快速的在Google中搜索“Redis queues",你马上就能找到大量的开源项目,这些项目的目的就是利用Redis创建非常好的后端工具,以满足各种队列需求。例如,Celery 有一个后台就是使用Redis作为broker,你可以从这里去查看。

(4)排行榜/计数器

Redis在内存中对数字进行递增或递减的操作实现的非常好。集合(Set)和有序集合(Sorted Set)也使得我们在执行这些操作的时候变的非常简单,Redis 只是正好提供了这

两种数据结构。所以,我们要从排序集合中获取到排名靠前的10个用户-我们称之为“user_scores", 我们只需要像下面一样执行即可:

当然,这是假定你是根据你用户的分数做递增的排序。如果你想返回用户及用户的分数,你需要这样执行:

ZRANGE user scores 0 10 WITHSCORES

Agora Games就是一个很好的例子,用Ruby实现的,它的排行榜就是使用Redis来存储数据的,你可以在这里看到。

(5)发布/订阅

后(但肯定不是不重要的)是Redis的发布/订阅功能。发布/订阅的使用场景确实非常多。我已看见人们在社交网络连接中使用,还可作为基于发布/订阅的脚本触发器,甚至用Redis的发布/订阅功能来建立聊天系统!

什么业务场景适合使用Redis?通过上面的详细介绍大家都了解了吗?希望可以给大家带来帮助,如果大家正在学习Java知识或者是对Java知识比较感兴趣的话,可以关注小千,后期分享更多Java知识。

​本文来自千锋教育,转载请注明出处。

解读:在什么业务场景适合使用Redis?相关推荐

  1. 什么业务场景适合使用Redis?

    Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言 ...

  2. 来个硬货——长文解读:基于业务场景的MySQL千万级大表优化

    千万级大表如何优化,这是一个很有技术含量的问题,通常我们的直觉思维都会跳转到拆分或者数据分区,在此我想做一些补充和梳理,想和大家做一些这方面的经验总结,也欢迎大家提出建议. 从一开始脑海里开始也是火光 ...

  3. 业务场景 基于mysql+redis的抢红包活动业务场景

    目录 1. 活动的配置 2. 触发抢红包动作时,有4台机器并行处理抢红包业务 1. 活动的配置 抢红包可以支持3种类型 固定的总金额,固定的红包数,每个红包金额随机,但总和必须等于总金额(总计100元 ...

  4. 使用redis实现防止重复提交,成功解决方案 春风化作秋雨 2018-09-13 18:09:52 13787 收藏 6 分类专栏: 解决方案 版权 1、业务场景 业务开发中,常常涉及对前端操作

    使用redis实现防止重复提交,成功解决方案 1.业务场景 业务开发中,常常涉及对前端操作进行重复校验,避免重复提交造成数据重复操作.比如转账操作,因为网络卡顿,客户连续点击转账按钮,造成多次转成:又 ...

  5. Redis实现朋友圈,微博等Feed流功能,实现Feed流微服务(业务场景、实现思路和环境搭建)

    文章目录 业务场景 Feed流相关概念 Feed流特征 Feed流分类 实现思路 环境搭建 数据库表结构 新建Feeds功能微服务ms-feeds 配置类 RedisTemplateConfigura ...

  6. 全民加速节:解读CDN的应用场景与产品价值

    8月12日,全民加速节第二次直播中,阿里云CDN产品专家寒丰进行了<阿里云CDN产品解读>的主题分享,从CDN的趋势.变迁.价值三个方面来阐述思考,并对阿里云CDN产品的业务架构和价值进行 ...

  7. php业务的适用场景,根据业务场景寻找合适解决方案(PHP)?

    系统环境: Linux PHP 7.3 ThinkPHP 6 先说一下业务场景: 订单创建成功之后,每一笔订单都需要进行统计及其他业务处理. 如何及时发现处理失败的订单,然后进行补单处理. 订单所产生 ...

  8. 不同业务场景该如何选择缓存的读写策略?

    来源:冰河技术 Hollis的新书限时折扣中,一本深入讲解Java基础的干货笔记! 缓存的读写策略.你可能觉得缓存的读写很简单,只需要优先读缓存,缓存不命中就从数据库查询,查询到了就回种缓存.实际上, ...

  9. 解读CDN的应用场景与产品价值

    8月12日,全民加速节第二次直播中,阿里云CDN产品专家寒丰进行了<阿里云CDN产品解读>的主题分享,从CDN的趋势.变迁.价值三个方面来阐述思考,并对阿里云CDN产品的业务架构和价值进行 ...

最新文章

  1. 自制清理电脑里的垃圾软件
  2. ICML 2018大奖出炉:伯克利、MIT获最佳论文,复旦大学榜上有名
  3. 数据挖掘中聚类算法概述
  4. 信息学奥赛一本通 1065:奇数求和 | OpenJudge NOI 1.5 09
  5. 语音识别数据库成为了人工智能的核心(转发)
  6. 解析FL Studio冻结小技巧
  7. Serverless+SCF=打倒服务器,解放程序员
  8. Qt线程:QThread
  9. VS2019下cmake项目:利用ELAS方法计算双目视差
  10. Ubuntu 查看系统版本
  11. 区块链对人工智能的变革:去中心化将带来数据新范式
  12. 路由器 OSPF 动态路由配置
  13. html5捕鱼达人源码分享!!!
  14. rf 433/868MHZ sub-1g 无线通信知识系列(1):RF信道冲突
  15. 任正非谈“咖啡杯”文化
  16. js实现video视频标签试看6分钟
  17. Vscode 文件中 查找替换局部查找替换快捷键
  18. Unity3D之挥动武器产生的剑痕特效
  19. 基于深度学习的图像超分辨率重建
  20. 报错:java.net.bindexception: address already in use: jvm_bind:8082

热门文章

  1. AAAI 2018论文解读 | 基于置信度的知识图谱表示学习框架
  2. 一篇文章入门深度学习框架PyTorch
  3. 躁动的小Z 最短路+路径记录
  4. PyTorch机器学习从入门到实践-CH1
  5. java处理最后一周_Java获取某年某周的最后一天
  6. micropython开发idethonny_ESP32 Micropython开发利器Thonny IDE介绍
  7. 【Java报错】记录一次调用递归方法导致的 StackOverFlowError 及如何重构递归代码避免栈溢出
  8. html自动执行的事件,js自执行事件
  9. 如何在云服务器上安装vim(bash: vim :command not found)
  10. 数据结构和算法之稀疏数组