学习计划 - redis

学习目标

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存储功能,而没有为了战争而准备的概念。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值