键值存储之外,Redis还有这些用法

栏目: 数据库 · Redis · 发布时间: 7年前

内容简介:Redis是一个强大的内存数据结构存储,包含数据库,缓存和消息代理等多种用途。大多数人经常认为它不过是一个简单的键值存储,但其实它有更多的能力。下面给出一些实例

Redis是一个强大的内存数据结构存储,包含数据库,缓存和消息代理等多种用途。大多数人经常认为它不过是一个简单的键值存储,但其实它有更多的能力。

键值存储之外,Redis还有这些用法

下面给出一些实例

1.全页面缓存

首先是整页缓存。如果你正在使用服务器端呈现的内容,则不需要为每个单独的请求重新渲染每个页面。使用如 Redis 这样的缓存,你可以缓存经常请求的内容,从而大大减少请求最多的页面的延迟,并且大多数框架针对Redis缓存页面都有hooks。

简单命令

/ Set the page that will last 1 minute 
SET key "<html>...</html>" EX 60 
// Get the page 
GET key 

2.排行榜

Redis令人耀眼的地方之一就是排行榜。由于Redis在内存中,因此可以非常快速和高效地处理递增和递减。将此与每个请求运行 SQL 查询比较,性能收益巨大!这与Redis的 排序 集相结合意味着你可以以毫秒为单位抓取列表中评分最高的项目,而且实现起来非常容易。

简单命令

// Add an item to the sorted set 
ZADD sortedSet 1 "one" 
 
// Get all items from the sorted set 
ZRANGE sortedSet 0 -1 
 
// Get all items from the sorted set with their score 
ZRANGE sortedSet 0 -1 WITHSCORES 

3.会话Session存储

我所见的Redis最常见的用途是会话存储。与其他会话存储(如Memcache)不同,Redis可以保留数据,以便在缓存停止的情况下,在重新启动时,所有数据仍然存在。即便不是需要严格持续的任务,此功能仍可以为你的用户省去大量的麻烦。没有人会乐于见到他们的会话被无缘无故随机删掉。

简单命令

// Set session that will last 1 minute 
SET randomHash "{userId}" EX 60 
 
// Get userId 
GET randomHash 

4.队列

使用Redis可以做的一个不太常见,但非常有用的事情是排队。无论是电子邮件队列还是其他应用程序使用的数据,你都可以在Redis中创建一个高效的队列。任何熟悉堆栈以及会push和pop项目的开发人员都可以轻松自然地使用此功能。

简单命令

// Add a Message 
HSET messages <id> <message> 
ZADD due <due_timestamp> <id> 
 
// Recieving Message 
ZRANGEBYSCORE due -inf <current_timestamp> LIMIT 0 1 
HGET messages <message_id> 
 
// Delete  Message 
ZREM due <message_id> 
HDEL messages <message_id> 

5.pub/sub

Redis在真实世界的最终用法即我将在这篇文章中提出的pub / sub。这是Redis内置的最强大的功能之一;得到的可能是无限的。你可以创建一个实时聊天系统,在社交网络上触发好友请求的通知等等。这个功能是Redis提供的最被低估的功能之一,但功能非常强大,而且使用简单。

简单命令

// Add a message to a channel 
PUBLISH channel message 
 
// Recieve messages from a channel 
SUBSCRIBE channel 

结论

希望这些Redis的用法能够对您有所帮助。虽然这篇文章只介绍了Redis的几种用法,但是,希望你能从中获得更好利用Redis的灵感。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

PHP for the World Wide Web, Second Edition (Visual QuickStart Gu

PHP for the World Wide Web, Second Edition (Visual QuickStart Gu

Larry Ullman / Peachpit Press / 2004-02-02 / USD 29.99

So you know HTML, even JavaScript, but the idea of learning an actual programming language like PHP terrifies you? Well, stop quaking and get going with this easy task-based guide! Aimed at beginning ......一起来看看 《PHP for the World Wide Web, Second Edition (Visual QuickStart Gu》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

SHA 加密
SHA 加密

SHA 加密工具