Redis和memcahce的区别【转】
先给大家讲一个基本知识点:数据库分类大致分为两类,关系型数据库和非关系型数据库。如果详细区分的话,还可以继续分下去。
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的区别【转】的更多相关文章
- Redis与Memcache的区别
Redis与Memcache的区别 数据类型: redis数据类型丰富,支持set liset等类型 memcache支持简单数据类型,需要客户端自己处理复杂对象 持久性: red ...
- Redis和Memcache的区别
Redis和Memcache的区别 总结一: 1.数据类型 redis数据类型丰富,支持set liset等类型 memcache支持简单数据类型,需要客户端自己处理复杂对象 2.持久性 redis支 ...
- Redis与Memcached的区别
传统MySQL+ Memcached架构遇到的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量 ...
- 也谈谈 Redis 和 Memcached 的区别
本文作者: 伯乐在线 - 朱小厮 . 说到redis就会联想到memcached,反之亦然.了解过两者的同学有那么个大致的印象: redis与memcached相比,比仅支持简单的key-value数 ...
- 【转载】Redis与Memcached的区别
传统MySQL+ Memcached架构遇到的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量 ...
- (转)Redis与Memcached的区别
如果简单地比较Redis与Memcached的区别,大多数都会得到以下观点: 1 Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储. 2 Redis支持 ...
- Redis 与 Memcached 的区别
[转]Redis 与 Memcached 的区别 传统 MySQL + Memcached 架构遇到的问题 实际上 MySQL 是适合进行海量数据存储的,通过 Memcached 将热点数据加 ...
- Redis和Memcached的区别【转】
如果简单地比较Redis与Memcached的区别,大多数都会得到以下观点:1 Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储.2 Redis支持数据 ...
- Redis与Memocache的区别
转载地址:http://gnucto.blog.51cto.com/3391516/998509 Redis与Memcached的区别 传统MySQL+ Memcached架构遇到的问题 实际MySQ ...
随机推荐
- 关于wxpython多线程研究包括(import Publisher等错误研究)
作为一个自动化测试人员,开发基本的应用桌面程序是必须的!最近在研究wxpython相关知识,目前看到多线程一块,发现官方文档介绍说:"在线程中不能修改修改窗口属性!",但是实际情况 ...
- VLAN模式
一 二层基础知识 1.1 vlan介绍 本小节重点: vlan的含义 vlan的类型 交换机端口类型 vlan的不足 1.1.1:vlan的含义 局域网LAN的发展是VLAN产生的基础,因而先介绍一下 ...
- flask(一)之路由和视图
01-介绍 Flask 是一个 Python 实现的 Web 开发微框架,同时具有很强的扩展能力. 02-第一个flask程序 # 初始化 from flask import Flask, url_f ...
- [转帖]Windows 10 部分早期版本已完全停止技术支持服务
Windows 10 部分早期版本已完全停止技术支持服务 2019-4-12 01:27| 发布者: cjy__05| 查看: 10186| 评论: 47|来自: pcbeta 收藏分享 转帖来源:h ...
- Nginx集群session管理的两种方式
1.IP_HASH 修改nginx配置文件 实现非常简单,但是绑定在一个服务器上了,不能跨越多个服务. 2.redis管理 管理session信息的空间,需要修改tomcat配置文件 下载相应的red ...
- Drag(拖拽)和Move(移动)两个脚本
Drag using System.Collections; using System.Collections.Generic; using UnityEngine; public class Dra ...
- 整理CSS选择符
1.星号选择器 ;; } 星号选择器将匹配页面里的每一个元素.很多开发者使用这个技巧将外边距和内边距重置为零.虽然在快速测试时这确实很好用,但我建议你永远不要再生产代码中使用它.它给浏览器带来大量不必 ...
- tomcat在windows及linux环境下安装
下载tomcat 下载地址: https://tomcat.apache.org/download-90.cgi 7,8,9的版本都可以下,这里下载最新版本 注意:Binary是编译好的,可以直接使用 ...
- 关于opencv的cv2.WINDOW_一类
用法:cv2.namedWindow('窗口标题',默认参数) 默认参数:cv2.WINDOW_AUTOSIZE+cv2.WINDOW_KEEPRATIO+cv2.WINDOW_GUI_EXPANDE ...
- python之OpenCv(四)---人脸识别
对特定图像进行识别,最关键的是要有识别对象的特征文件.OpenCV已经内置了人脸识别特征文件,我们只要使用OpenCV的CascadeClassifier类即可进行识别. 语法: https://gi ...