如果你的印象中redis只是一个 key-value 存储,那就错过了redis很多强大的功能,redis 是一个强大的内存型存储,具有丰富的数据结构,使其可以应用于很多方面,包括作为数据库、缓存、消息队列等等。
1. 全页面缓存
如果你使用的是服务器端内容渲染,你又不想为每个请求重新渲染每个页面,就可以使用 Redis 把常被请求的内容缓存起来,能够大大的降低页面请求的延迟,已经有很多框架用Redis来缓存页面,这就是页面静态化的一种方式。
// Set the page that will last 1 minuteSET key "..." EX 60// Get the pageGET key
登录后复制
2. 排行榜
Redis 基于内存,可以非常快速高效的处理增加和减少的操作,相比于使用 SQL 请求的处理方式,性能的提升是非常巨大的。
Redis 的有序集合可以轻松实现“从一个大型列表中取得排名最高的N个元素”,毫秒级,而且非常简单。
// Add an item to the sorted setZADD sortedSet 1 "one"// Get all items from the sorted setZRANGE sortedSet 0 -1// Get all items from the sorted set with their scoreZRANGE sortedSet 0 -1 WITHSCORES
登录后复制
3. Session 存储
这可能是应用最广的点了,相比较于类似 memcache 的 session 存储,Redis 具有缓存数据持久化的能力,当缓存因出现问题而重启后,之前的缓存数据还在那儿,这个就比较实用,避免了因为session突然消失带来的用户体验问题。
// Set session that will last 1 minuteSET randomHash "{userId}" EX 60// Get userIdGET randomHash
登录后复制
4. 队列
例如 email 的发送队列、等待被其他应用消费的数据队列,Redis 可以轻松而自然的创建出一个高效的队列。
// Add a MessageHSET messages ZADD due // Recieving MessageZRANGEBYSCORE due -inf LIMIT 0 1HGET messages // Delete MessageZREM due HDEL messages
登录后复制
5. 发布/订阅
pub/sub 是 Redis 内置的一个非常强大的特性,例如可以创建一个实时的聊天系统、社交网络中的通知触发器等等。
// Add a message to a channelPUBLISH channel message// Recieve messages from a channelSUBSCRIBE channel
登录后复制
相关推荐:
PHP使用Redis实例讲解
PHP使用Redis实例讲解
PHP使用Redis实例讲解
以上就是5个Redis的常见应用场景实例分析的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2785526.html