当前位置: 首页 > 科技观察

Redis在现实世界中的5种用法

时间:2023-03-13 14:52:28 科技观察

Redis是一个强大的内存数据结构存储,包括数据库、缓存和消息代理等用途。大多数人通常认为它只不过是一个简单的键值存储,但它具有更多的功能。下面我将总结一些Redis可以做什么的真实示例。1.Fullpagecache首先是fullpagecache。如果您使用的是服务器端呈现的内容,则无需为每个单独的请求重新呈现每个页面。使用像Redis这样的缓存,您可以缓存经常请求的内容,大大减少请求最多的页面的延迟,并且大多数框架都有Redis缓存页面的挂钩。简单命令//Setthepagethatwilllast1minuteSETkey"..."EX60//GetthepageGETkey2.排行榜Redis最耀眼的地方之一就是排行榜。由于Redis在内存中,因此可以非常快速有效地处理增量和减量。与每个请求运行一个SQL查询相比,性能提升是巨大的!这与Redis的排序集相结合意味着您可以在几毫秒内获取列表中评价最高的项目,而且这很容易做到。简单命令//AddanitemtothesortedsetZADDsortedSet1"one"//GetallitemsfromthesortedsetZRANGEsortedSet0-1//GetallitemsfromthesortedsetwiththeirscoreZRANGEsortedSet0-1WITHSCORES3.会话存储我见过的Redis最常见的用途是会话存储。与其他会话存储(例如Memcache)不同,Redis可以持久化数据,这样如果缓存停止,当它重新启动时,所有数据仍然存在。即使对于不是严格连续的任务,这个特性仍然可以让你的用户省去很多麻烦。没有人希望看到他们的会话无缘无故地被随机删除。简单命令//Setsessionthatwilllast1minuteSERandomHash"{userId}"EX60//GetuserIdGETrandomHash4.排队Redis可以做的不太常见但非常有用的事情之一是排队。无论是电子邮件队列还是其他应用程序使用的数据,您都可以在Redis中创建一个高效的队列。任何熟悉堆栈并会推送和弹出项目的开发人员都可以轻松自然地使用此功能。简单命令//AddaMessageHSETmessagesZADDdue//RecievingMessageZRANGEBYSCOREdue-infLIMIT01HGETmessages//DeleteMessageZREMdueHDELmessagessub5,在现实世界中用法是pub/我将在这篇文章中提出的sub。这是Redis内置的最重要的功能之一;你能得到的最好的。您可以创建实时聊天系统、触发社交网络上好友请求的通知等。此功能是Redis必须提供的最被低估的功能之一,但它非常强大且易于使用。简单命令//AddamessagetoachannelPUBLISHchannelmessage//ReceivemessagesfromachannelSUBSCRIBEchannel结论我希望您喜欢Redis在现实世界中的这些应用。虽然本文只是粗浅地介绍了Redis可以为您做什么,但我希望它能启发您如何充分利用Redis。原文链接:https://ryanmccue.ca/5-real-world-uses-for-redis/