java高级培训-适合使用Redis的场景有哪些

会话缓存是使用Redis的最常用方案之一。使用Redis在其他存储(例如Memcached)上缓存会话的优点是Redis提供了持久性。当维护一个不严格要求一致性的缓存时,如果所有用户的购物车信息丢失,大多数人将不满意。现在,他们还会这样吗?

    (1)会话缓存(SessionCache)


    会话缓存是使用Redis的最常用方案之一。使用Redis在其他存储(例如Memcached)上缓存会话的优点是Redis提供了持久性。当维护一个不严格要求一致性的缓存时,如果所有用户的购物车信息丢失,大多数人将不满意。现在,他们还会这样吗?

java架构师培训

    幸运的是,随着Redis多年来的改进,很容易找到如何正确使用Redis缓存会话文档的方法。甚至著名的商业平台Magento都为Redis提供了插件。


    (2)全页缓存(FPC)


    除了基本的会话令牌外,Redis还提供了一个非常简单的FPC平台。回到一致性问题,即使重新启动Redis实例,由于磁盘的持久性,用户也不会看到页面加载速度的下降。与PHP本地FPC相似,这是一个很大的改进。


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


    此外,对于WordPress用户而言,万神殿有一个非常不错的插件wpredis,它可以帮助您尽快加载已浏览的页面。


    (3)队列


    Reids在内存存储引擎领域的主要优势之一是提供列表和设置操作,这使Redis成为一个很好的消息排队平台。Redis用作队列的操作类似于列表上本地编程语言(例如Python)的push/pop操作。


    如果您在Google中快速搜索“重生”,则可以立即找到大量开源项目。这些项目的目的是使用Redis创建非常好的后端工具来满足各种队列需求。例如,Celery有一个使用Redis作为代理的后端,您可以从此处进行检查。


    (4)排行榜/计数器


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


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


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


    ZRANGEuserscores010WITHSCORES


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


    (5)发布/订阅


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


  推荐阅读:java架构师培训:java最佳测试框架JBehave的基本介绍

  • 发表于 2021-03-29 20:55
  • 阅读 ( 155 )
  • 分类:技术干货

0 条评论

请先 登录 后评论
JAVA Q&A
JAVA Q&A

173 篇文章

作家榜 »

  1. JAVA Q&A 173 文章
  2. 江南 1 文章
  3. 伯乐 0 文章
  4. 孤存 0 文章
  5. q21164340 0 文章
  6. 赫敏12 0 文章
  7. 子牙 0 文章
  8. 赫敏 0 文章