阿里感悟(九)- 能力和晋升
作者:方腾飞
晋升是一个水到渠成的过程,能力到了自动就能晋升。所以需要努力突破自己,超越本层级的能力,并创造当前层级的人创造不出来的价值。晋升意味着对自己更高的要求,更高的责任和更多的思考。
如何才能突破自己能力?
首先要做的是改变习惯。在阿里很流行的一句话是,当自己不舒服的时候就是自己成长的时候。比如老大和我说要学会到先规划再做事情,而不是想到哪做到哪。这句话看起来简单,但是做起来很难,因为要打破自己已有的做事习惯,就像你习惯8点起床,现在让你每天6点起床,你肯定会很不习惯。 阅读全文
《Redis官方文档》 redis 虚拟内存
虚拟内存
Redis 虚拟内存这一特性将首次出现在Redis 2.0的一个稳定发布版中。目前Git上Redis 不稳定分支的虚拟内存(从现在起称之为VM)已经可以使用,并且经试验证明足够稳定。
《Redis官方文档》用Redis构建分布式锁
用Redis构建分布式锁
在不同进程需要互斥地访问共享资源时,分布式锁是一种非常有用的技术手段。 有很多三方库和文章描述如何用Redis实现一个分布式锁管理器,但是这些库实现的方式差别很大,而且很多简单的实现其实只需采用稍微增加一点复杂的设计就可以获得更好的可靠性。 这篇文章的目的就是尝试提出一种官方权威的用Redis实现分布式锁管理器的算法,我们把这个算法称为RedLock,我们相信这个算法会比一般的普通方法更加安全可靠。我们也希望社区能一起分析这个算法,提供一些反馈,然后我们以此为基础,来设计出更加复杂可靠的算法,或者更好的新算法。
《Redis官方教程》-FAQ
原文链接 译者:Alexandar Mahone 校对:方腾飞(红体标记重点)
为什么Redis不同于其他的键值存储数据库?
有两个主要原因:
- Redis发展方向不同与其他键值数据库,它能包含很多复杂数据类型,对这些数据类型操作都是原子的。Redis数据类型与基本数据结构强相关,直接暴露给程序员,没有增加抽象层。
- Redis是一个内存数据库,而不是持久化在硬盘数据库中,因此为了实现高速读写,数据集大小不能超过内存。内存数据库另一个优点是,内存数据库相对于硬盘数据库非常容易操作复杂数据结构,因此Redis的可以做很多事情,很少有内部的复杂性。与此同时两款磁盘存储格式(RDB和AOF)不需要支持随机访问,因此他们是紧凑的,而且总是以追加形式生成(甚至AOF日志轮换也是一个追加操作,因为新版本是由内存中的副本生成)。
初探设计:Java继承何时用?怎么用?
Writer :BYSocket(泥沙砖瓦浆木匠)
一、回顾继承
常见的如下:
1、依赖(”uses-a“)
2、聚合(”has-a“)
3、继承(”is-a“)类之间关系
也就是UML类图中常见的三种关系,另外常见的还有实现(接口与实现类的关系),组合等。
阅读全文
《Redis官方文档》主从复制
原文链接 译文连接 译者:adeline 校对:方腾飞(重点地方标成了粗体,方便大家阅读)
Redis主从复制的配置十分简单,它可以使从服务器是主服务器的完全拷贝。下面是关于Redis主从复制的几点重要内容:
- Redis使用异步复制。但从Redis 2.8开始,从服务器会周期性的应答从复制流中处理的数据量。
- 一个主服务器可以有多个从服务器。
- 从服务器也可以接受其他从服务器的连接。除了多个从服务器连接到一个主服务器之外,多个从服务器也可以连接到一个从服务器上,形成一个图状结构
- Redis主从复制不阻塞主服务器端。也就是说当若干个从服务器在进行初始同步时,主服务器仍然可以处理请求。
- 主从复制也不阻塞从服务器端。当从服务器进行初始同步时,它使用旧版本的数据来应对查询请求,假设你在redis.conf配置文件是这么配置的。否则的话,你可以配置当复制流关闭时让从服务器给客户端返回一个错误。但是,当初始同步完成后,需要删除旧的数据集和加载新的数据集,在这个短暂的时间内,从服务器会阻塞连接进来的请求。
- 主从复制可以用来增强扩展性,使用多个从服务器来处理只读的请求(比如,繁重的排序操作可以放到从服务器去做),也可以简单的用来做数据冗余。
- 使用主从复制可以为主服务器免除把数据写入磁盘的消耗:在主服务器的redis.conf文件中配置“避免保存”(注释掉所有“保存“命令),然后连接一个配置为“进行保存”的从服务器即可。但是这个配置要确保主服务器不会自动重启(要获得更多信息请阅读下一段)