Redis实战(五) 聊聊Redis使用场景

发表于 2016-11-21 | 数据存储 | Redis

随着数据量的增长,MySQL已经满足不了大型互联网类应用的需求,因此,Redis作为内存数据库,很好的作为其架构上的补充。在某些场景下,可以充分的利用Redis的特性,大大提高效率。

使用场景说明

计数器

数据统计的需求非常普遍,通过原子递增保持计数。例如,点赞数、收藏数、分享数等。

排行榜

排行榜按照得分进行排序,例如,展示最近、最热、点击率最高、活跃度最高等等条件的top list。

用于存储时间戳

类似排行榜,使用redis的zset用于存储时间戳,时间会不断变化。例如,按照用户关注用户的最新动态列表。

记录用户判定信息

记录用户判定信息的需求也非常普遍,可以知道一个用户是否进行了某个操作。例如,用户是否点赞、用户是否收藏、用户是否分享等。

社交列表

社交属性相关的列表信息,例如,用户点赞列表、用户收藏列表、用户关注列表等。

缓存

缓存一些热点数据,例如,PC版本文件更新内容、资讯标签和分类信息、生日祝福寿星列表。

队列

Redis能作为一个很好的消息队列来使用,通过list的lpop及lpush接口进行队列的写入和消费,本身性能较好能解决大部分问题。但是,不提倡使用,更加建议使用rabbitmq等服务,作为消息中间件。

会话缓存

使用Redis进行会话缓存。例如,将web session存放在Redis中。

业务使用方式

  • String(字符串): 应用数, 资讯数等, (避免了select count(*) from …)

  • Hash(哈希表): 用户粉丝列表, 用户点赞列表, 用户收藏列表, 用户关注列表等。

  • List(列表):消息队列, push/sub提醒。

  • SortedSet(有序集合):热门列表, 最新动态列表, TopN, 自动排序。

转 redis使用场景 简介的更多相关文章

  1. Redis 学习之简介及安装

    一.redis简介 Redis是一个开源的,先进的key-value存储.它通常被称为数据结构服务器,因为键可以包含字符串.哈希.链表.集合和有序集合. 支持的数据类型:string(字符串).lis ...

  2. Redis和nosql简介,api调用;Redis数据功能(String类型的数据处理);List数据结构(及Java调用处理);Hash数据结构;Set数据结构功能;sortedSet(有序集合)数

    1.Redis和nosql简介,api调用 14.1/ nosql介绍 NoSQL:一类新出现的数据库(not only sql),它的特点: 1.  不支持SQL语法 2.  存储结构跟传统关系型数 ...

  3. Redis应用场景说明与部署

    Redis简介 REmote DIctionary Server(Redis)是一个基于key-value键值对的持久化数据库存储系统.redis和大名鼎鼎的memcached缓存服务很像,但是red ...

  4. 【*】Redis实战场景中相关问题

    一.Redis简介 redis主要解决的问题 分布式缓存是分布式系统中的重要组件,主要解决高并发.大数据场景下,热点数据访问的性能问题,提供高性能的数据快速访问. 使用缓存常见场景 项目中部分数据访问 ...

  5. Redis应用场景-转载

    1.  MySql+Memcached架构的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的 ...

  6. Redis应用场景(转)

    (来源:http://www.cnblogs.com/shanyou/archive/2012/09/04/2670972.html) Redis常用数据类型 Redis最为常用的数据类型主要有以下五 ...

  7. redis(二)Redis适用场景,如何正确的使用

    网络IO模型 Memcached是多线程,非阻塞IO复用的网络模型,分为监听主线程和worker子线程,监听线程监听网络连接,接受请求后,将连接描述字pipe 传递给worker线程,进行读写IO, ...

  8. redis使用场景

    Redis应用场景   Redis开创了一种新的数据存储思路,使用Redis,我们不用在面对功能单调的数据库时,把精力放在如何把大象放进冰箱这样的问题上,而是利用Redis灵活多变的数据结构和数据操作 ...

  9. <转>Redis 应用场景

    http://blog.csdn.net/hguisu/article/details/8836819 1.  MySql+Memcached 架构的问题 Memcached采用客户端-服务器的架构, ...

随机推荐

  1. Integrate SharePoint 2013 with Team Foundation Server 2012

    Now that SharePoint 2013 is out I want to make sure that I can integrate SharePoint 2013 with Team F ...

  2. ClientDataSet的版本兼容性

    ClientDataSet的版本兼容性 在Delphi的早期版本中,Data这个Variant类型的值内部使用的是AnsiString来存贮的字节流,但我并不确定Delphi从什么时候开始,将其改为了 ...

  3. Java自定义Exception

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  4. [转]nginx折腾记(HTTP性能能测试,与Apache对比)

      话说nginx在大压力的环境中比apache的表现要好,于是下载了一个来折腾一下. 下载并编译安装,我的编译过程有点特别: 1.去除调试信息,修改$nginx_setup_path/auto/cc ...

  5. C#常见算法题目

        //冒泡排序    public class bubblesorter    {        public void sort(int[] list)        {            ...

  6. SQL VM上磁盘延迟高, 但Host和Storage Array上的延迟却很低的问题

    按照下面的步骤, 问题解决. =========================== Per Microsoft DDK, Microsoft storport.sys maintains a dev ...

  7. Kotlin【简介】Android开发 配置 扩展

    重要资源 官方资源:官网 . 官网源码 .官网文档 . 在线 IDE .GitHub 中文资源:中文官网 .中文文档  离线文档:PDF 文件 . PDF 文件 GitBook 版 .ePUB 文件  ...

  8. .NET中的六个重要概念

    内容导读 概述 当你声明一个变量背后发生了什么? 堆和栈 值类型和引用类型 哪些是值类型,哪些是引用类型? 装箱和拆箱 装箱和拆箱的性能问题 一.概述 本文会阐述六个重要的概念:堆.栈.值类型.引用类 ...

  9. Asp 将MSXML2.serverXMLHTTP返回的responseBody 内容转换成支持中文编码

    参考:ASP四个小技巧,抓取网页:GetBody,字节转字符BytesToBstr,正则表达式测试方法,生成静态页 Function GetBody(weburl) '创建对象 Dim ObjXMLH ...

  10. 当Intellij IDEA 遇到 Mac

    当Intellij IDEA 遇到 Mac alt+insert变为control+N