1、会话缓存(Session Cache)

最常用的一种使用 Redis 的情景是会话缓存(session cache)。用 Redis 缓存会

话比其他存储(如 Memcached)的优势在于: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 最适合的场景?的更多相关文章

  1. redis数据类型及使用场景

    Redis数据类型  String: Strings 数据结构是简单的key-value类型,value其实不仅是String,也可以是数字. 常用命令:  set,get,decr,incr,mge ...

  2. Memcached和Redis对比和适用场景

    关于memcached和redis的使用场景,根据大神们的讨论和我在网上查到的资料,总结一下: 两者对比: redis提供数据持久化功能,memcached无持久化: redis的数据结构比memca ...

  3. Redis常见的应用场景解析

    Redis是一个key-value存储系统,现在在各种系统中的使用越来越多,大部分情况下是因为其高性能的特性,被当做缓存使用,这里介绍下Redis经常遇到的使用场景. Redis特性 一个产品的使用场 ...

  4. Redis数据结构以及应用场景

    1. Redis数据结构以及应用场景 1.1. Memcache VS Redis 1.1.1. 选Memcache理由 系统业务以KV的缓存为主,数据量.并发业务量大,memcache较为合适 me ...

  5. Redis简介及应用场景

    一丶Redis介绍 Redis是一个开源的 key—value型 单线程 数据库,支持string.list.set.zset和hash类型数据. 默认端口:6379 默认数据库数量:16 二.优点: ...

  6. Redis特性和应用场景

    Redis特性 速度快 Redis使用标准C编写实现,而且将所有数据加载到内存中,所以速度非常快.官方提供的数据表明,在一个普通的Linux机器上,Redis读写速度分别达到81000/s和11000 ...

  7. Redis数据结构和使用场景,redis内存淘汰策略

    什么样的数据适合放入Redis? sql执行耗时特别久,且结果不频繁变动的数据,适合放入Redis. Redis是单线程的,为什么会这么快? 纯内存操作 单线程操作,避免频繁的上下文切换 采用了非阻塞 ...

  8. Redis数据库的使用场景介绍(避免误用Redis)

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/122.html?1455854235 Redis 是目前 NoSQL 领域 ...

  9. redis各种数据结构使用场景

    一.redis 数据结构使用场景 原来看过 redisbook 这本书,对 redis 的基本功能都已经熟悉了,从上周开始看 redis 的源码.目前目标是吃透 redis 的数据结构.我们都知道,在 ...

随机推荐

  1. 手把手教你vmware导入centos7虚拟机

    安装vmware 安装vmware15:https://www.cnblogs.com/uncleyong/p/10740005.html 可能遇到的问题:VMware提示此主机支持Intel VT- ...

  2. C# 模式匹配完全指南

    前言 自从 2017 年 C# 7.0 版本开始引入声明模式和常数模式匹配开始,到 2022 年的 C# 11 为止,最后一个板块列表模式和切片模式匹配也已经补齐,当初计划的模式匹配内容已经基本全部完 ...

  3. Oracle之SQL语句的分类

    SQL简介 SQL:结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理关系数据库 ...

  4. 如何给远程桌面发送“Ctrl+Alt+Delete”命令

    转至:https://www.yunweiku.com/forum.php?mod=viewthread&tid=925 当我们远程桌面需要是用ctrl+alt+delete组合键时无法使用, ...

  5. QT:QT Creator下载安装

    学习自: QtCreator5.12.6安装图文教程 - 知乎 (7条消息) Qt Creator下载安装_芒种.的博客-CSDN博客 (7条消息) QT5.11下载与安装教程_杨书航的博客-CSDN ...

  6. python面试_总结01_概念和内置高阶函数

    - 简答题 1.请谈谈Python中is 和 == 的区别(代码演示) is用于比较两个变量是否引用了同一个内存地址,is表示的是对象标识符(object identity),作用是用来检查对象的标识 ...

  7. 面向对象编程(C++篇2)——构造

    目录 1. 引述 2. 详述 2.1. 数据类型初始化 2.2. 类初始化 1. 引述 在C++中,学习类的第一课往往就是构造函数.根据构造函数的定义,构造函数式是用于初始化类对象的数据成员的.无论何 ...

  8. JZ-053-表示数值的字符串

    表示数值的字符串 题目描述 请实现一个函数用来判断字符串是否表示数值(包括整数和小数).例如,字符串"+100","5e2","-123", ...

  9. springboot-jta-atomikos多数据源事务管理

    背景 我们平时在用springboot开发时,要使用事务,只需要在方法上添加@Transaction注解即可,但这种方式只适用单数据源,在多数据源下就不再适用: 比如在多数据源下,我们在一个方法里执行 ...

  10. laravel7 图片上传及视图显示

    1:修改框架config下的文件filesystems.php中的配置: 原文件 <?php return [ /* |------------------------------------- ...