先给大家讲一个基本知识点:数据库分类大致分为两类,关系型数据库和非关系型数据库。如果详细区分的话,还可以继续分下去。

Redis不仅仅是缓存数据库

面试的时候,很多人会问,Redis和memcahce的区别?

memcache是一个纯缓存的键值数据库,而Redis是一个非关系型的数据库。

两者的差异较大,却仍然大部分的人问二者的区别?因为很多人对Redis的应用,主要是和memcache一样,作为键值缓存数据库来用的。

要知道,Redis不仅仅是缓存数据库,接下来,我们要深入Redis的应用场景,探寻它能为我们来解决什么样的问题。

6大Redis应用场景

1.缓存

缓存肯定是大家应用场景最多的一个方向,几乎现在所有的中大型网站,都用到了缓存。

合理的使用缓存不但能提高网页的访问速度,也能够降低后端数据库的压力。

根据数据类型和实际使用情况,设置灵活的键值过期策略,又可以保障数据的有效性,所以用在缓存的场合非常多。

2.计数器

好多不熟悉业务或者开发的运维同学可能会问,计数器究竟是什么?

我们可以通过我们实际的例子来说明,比如博主写了一篇博文,有多少人来浏览,51CTO都会有记录。

那么这个记录怎么来做,每次浏览的话,这个记录都会+1 ,当浏览人数太多的时候,或者文章基数较大的时候,每次都去数据库来操作读写这个数据,肯定对后端数据库会有较大的压力。

如果我们使用Redis的incr来实现这个功能,在内存中来计数,不但性能好,还可以减轻后端数据库的压力。所以是Redis!

3.排行榜

比如音乐或者某比赛排行榜,我们可以使用音乐名作为元素,使用播放次数作为分值。

如果使用Redis的zadd来实现这个功能,使用zrevrange 来按照分值获取前10名或者50名的歌曲,或者获取歌曲排名,都是操作比较容易的,试想一下这种范围取值,如果使用Mysql来操作,一般会全表扫描,对I/O、数据库都是压力,所以是Redis。

4.定位功能(3.2开始支持)

Redis的 GEO特性,我们可以通过提前输入具体的地理位置信息,经纬度一些主要内容,在使用时,可以快读定位到APP使用者的位置,以及位置之间的距离等。

5.简单的消息系统

在日常的应用开发中,消息队列的使用还是比较常见的,Redis也有阻塞队列的功能。能够让程序在执行时被另一个程序添加到队列。

6.交友

我们可以存储好友的信息,比如爱好、兴趣等,通过使用Set集合的差查找爱好不同,或者爱好相同的点,增加交友匹配度等。

当然,Redis的实际应用还远不止这些,既然这个数据库可以在我们实际的应用中,解决如此多的痛点问题,也有如此多的应用场景,那么肯定使用的公司一定比较多,为了提高我们自身的能力,或者竞争力,能够更好的解决或者运维好这一款数据库,我当然需要深入的去学习。

Redis最显著的优势

1.速度快

Redis的开发基于C语言实现,网络上使用epoll解决高并发的问题,单线程又避免不必要的上下文切换。C语言和贴近系统,数据又放在内存中。所以速度肯定快。

2.支持多种数据类型

Redis不仅仅是key - value的存在,还可以支持LIst、String、Hash、Set、Zset 数据类型,可以满足我们大部分的需求。

通过这个图呢,我们大致介绍了Redis的功能、场景、优点等信息。那么既然Redis在我们工作中,有这么多的地方可以用到,我们更应该需要深入的去学习和了解,方便我们在以后的工作中,更加的得心应手。基于以上的考虑,所以我讲解内容选择的时候: 所以是Redis。

接住这份Redis运维秘籍

1.总结知识点

《Redis运维秘籍》里,可以看到Redis在学习过程中重要的一些知识点,而不是通篇的按照Redis的官方文档来教科书式的宣读,我会把工作中常用的进行知识点的总结,只讲干货,不凑篇幅。

2.理论+实践

鲁迅先生说:“实践是检验真理的唯一标准”!我不但对底层知识、原理进行讲解和总结,也同时进行实战的操作,通过实际操作来验证这些理论,可以加深印象,也更方便我们的理解。

3.经验总结与分享

我将在实战和优化中,讲解本人实际在运用过程中使用的遇到的一些“坑”。满满的坑,当我们从坑里爬出来的时候,我们就是强者。

转自

51CTO https://mp.weixin.qq.com/s?__biz=MzAwMDEzNTc1Mw==&mid=2247484161&idx=1&sn=51319e81cd2f099b865a3d0f9e03e7e7&chksm=9aecc427ad9b4d3188efd105558a6ac0a2bfaf782f5777db903d830c37527a9675e2bf0eb700&mpshare=1&scene=23&srcid=03153ovLXgGHuWQ6tQgO89mH#rd

Redis和memcahce的区别【转】的更多相关文章

  1. Redis与Memcache的区别

    Redis与Memcache的区别 数据类型:  redis数据类型丰富,支持set liset等类型          memcache支持简单数据类型,需要客户端自己处理复杂对象 持久性: red ...

  2. Redis和Memcache的区别

    Redis和Memcache的区别 总结一: 1.数据类型 redis数据类型丰富,支持set liset等类型 memcache支持简单数据类型,需要客户端自己处理复杂对象 2.持久性 redis支 ...

  3. Redis与Memcached的区别

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

  4. 也谈谈 Redis 和 Memcached 的区别

    本文作者: 伯乐在线 - 朱小厮 . 说到redis就会联想到memcached,反之亦然.了解过两者的同学有那么个大致的印象: redis与memcached相比,比仅支持简单的key-value数 ...

  5. 【转载】Redis与Memcached的区别

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

  6. (转)Redis与Memcached的区别

    如果简单地比较Redis与Memcached的区别,大多数都会得到以下观点: 1 Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储. 2 Redis支持 ...

  7. Redis 与 Memcached 的区别

    [转]Redis 与 Memcached 的区别 传统 MySQL + Memcached 架构遇到的问题     实际上 MySQL 是适合进行海量数据存储的,通过 Memcached 将热点数据加 ...

  8. Redis和Memcached的区别【转】

    如果简单地比较Redis与Memcached的区别,大多数都会得到以下观点:1 Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储.2 Redis支持数据 ...

  9. Redis与Memocache的区别

    转载地址:http://gnucto.blog.51cto.com/3391516/998509 Redis与Memcached的区别 传统MySQL+ Memcached架构遇到的问题 实际MySQ ...

随机推荐

  1. js 对日期处理

    // 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分(m).秒(s).季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占 ...

  2. 使用代码生成工具Database2Sharp快速生成工作流模块控制器和视图代码

    在前面随笔<基于Metronic的Bootstrap开发框架--工作流模块功能介绍>和<基于Metronic的Bootstrap开发框架--工作流模块功能介绍(2)>中介绍了B ...

  3. python 项目自动生成requirements.txt文件

    主要使用目的: 任何应用程序通常需要设置安装所需并依赖一组类库来满足工作要求.通过requirements.txt可以一次性安装程序所需要和依赖的包. 为工程生成requirements.txt的两种 ...

  4. IDEA 创建包和类及基本操作

    创建包和类步骤如下: 1. 展开创建的工程,在源代码目录 src 上,鼠标右键,选择 new->package ,键入包名 com.itheima.demo ,点击确定. 2. 在创建好的包上, ...

  5. 基于struts2、hibernate、spring、shiro、MySQL的项目开发

    使用maven管理jar包的依赖 < project xmlns = “ http://maven.apache.org/POM/4.0.0 ” xmlns :xsi = “ http://ww ...

  6. 【Beta阶段】展示博客

    Beta阶段展示博客 blog software buaa 1.团队成员简介 Email:qianlxc@126.com Free time:8:00 7:00 a.m ~ 11:00 12:00p. ...

  7. winform,同个程序只允许启动一次

    static class Program { [DllImport("User32.dll")] private static extern bool ShowWindowAsyn ...

  8. vertical-align和text-align属性实现垂直水平居中

    HTML: <div class="box"> <div class="content"> <span class="s ...

  9. DAY11、函数总结

    一.函数的对象 1.函数对象:函数名存放的就是函数的地址,所以函数名也是对像 2.函数对象的应用: 2.1.可以直接被引用   fn = cp_fn 2.2.可以当作函数参数传递    compute ...

  10. Oracle篇 之 查询行及概念

    Oracle: s_emp   s_dept  s_region 行:Row(tuple) 列:Column(attribute) conn:改变用户 Drop:删除用户  drop user bri ...