学习计划 - redis

原创 2016年08月31日 08:05:26

学习目标

redis存在的意义是什么?

内存操作,key value数据,速度快,并发高,适用于社交网络等需要快速数据交换的情况。

在redis没有出现的时候,大家一般的架构采用memcache+mysql,memcache用于缓存大量的热数据,但是如果有冷数据或者memcache宕机的话,那么请求就会穿透到mysql对db造成大量负担。redis看起来像是继承了memcache的缓存和mysql的db功能,加上redis支持集群模式,效果非常棒。

有哪些特有术语?

aof append of file, redis除了把数据写到内存里面,也会写到文件dump.rdb,在写的时候分为定时写或者有多少更新之后写,但是如果两个阀值都没有达到,但是发生了宕机,那么数据就会丢失,redis新增了aof模式,会把更新写到aof文件,这样即使宕机,也会在重启之后自动加载,当然,如果数据量大的话,时间会长一些。

部署中需要注意什么?

部署可以有单机和多机模式,配置也不难,slave节点只需要增加 slaveof masteraddress master port配置参数即可。

运行状态的观察

redis运行的时候会占用大量内存,默认监听端口6379。

redis的问题和未来

redis的扩容问题

即使我们拥有redis的master slave架构,可以避免单点故障,但是随着业务的增加,内存会吃紧,貌似有两种解决方案,最直接的扩容服务器内存,麻烦一点的就是类似于mysql的分表分库。
貌似像这种类似的问题,我感觉可以借鉴TCP/IP Routing里面的OSPF等动态路由器协议,在redis cluster的上层添加一层路由层,这样就可以非常方便的进行扩容了,既然能够方便扩容,也就降低了先期业务规划和后期运维的成本,这帮程序员确实该学习下TCP/IP里面动态路由的思想,比如mongodb的sharding技术非常棒,sharding的概念里面有gate的概念,棒极了。

其实关于动态路由以及APP这种程序, 前者属于交换机或者路由器的中间设备,先天具有防止单点的功能,毕竟是为了战争而准备的;而后者的Software,作者只是从EndPoint的角度在考虑问题,考虑如何有memcache的功能,如何有mysql的db存储功能,而没有为了战争而准备的概念。

版权声明:更多精彩请关注 http://book.opschina.org, 或者加入QQ新群648503385, 让天下没有难做的运维。

相关文章推荐

Redis 3.0中文官方文档翻译计划(18) ——集群(下)

手动故障转移(Manual failover)      有时候在主服务器事实上没有任何故障的情况下强制一次故障转移是很有用的。例如,为了升级主服务器节点中的一个进程,可以对其进行故障转移使其变为一...
  • ctbinzi
  • ctbinzi
  • 2016年01月27日 23:00
  • 515

(Ryan的Redis系列博客)0.Redis系列文章的博客写作计划

Redis系列文章讲解
  • lxlhu
  • lxlhu
  • 2017年02月14日 12:49
  • 177

spark学习计划

  • 2015年05月05日 10:31
  • 179KB
  • 下载

php学习计划

  • 2013年04月30日 10:01
  • 139KB
  • 下载

JMeter学习JDBC测试计划——连接Oracle

一、测试环境准备: 数据库:Oracle10g,库名:myorcl; JMeter:jmeter-2.6安装在win2003系统下 JDBC驱动:ojdbc14.jar,oracle安装目录下(ora...

SQL SERVER 2008 学习计划

  • 2014年07月16日 09:37
  • 53KB
  • 下载

嵌入式学习计划

  • 2013年10月22日 13:40
  • 590B
  • 下载

Android应用程序的Activity启动过程简要介绍和学习计划

在Android系统中,Activity和Service是应用程序的核心组件,它们以松藕合的方式组合在一起构成了一个完整的应用程序,这得益于应用程序框架层提供了一套完整的机制来协助应用程序启动这些Ac...

接触ARM及学习计划

  • 2013年09月14日 17:13
  • 762B
  • 下载

转IT的学习计划

  • 2014年02月06日 16:09
  • 108KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:学习计划 - redis
举报原因:
原因补充:

(最多只允许输入30个字)