redis的数据备份比较简单,持久化策略有aof与rdb两种方式,rdb对存储数据有压缩,备份最好选择rdb文件进行备份。数据恢复在从rdb文件中提取。
- RDB 将数据库的快照(snapshot)以二进制的方式保存到磁盘中。文件小,便于备份恢复
- AOF 以协议文本的方式,将所有对数据库进行过写入的命令(及其参数)记录到AOF文件,以此达到记录数据库状态的目的。文件大用于主备数据同步
redis的数据备份比较简单,持久化策略有aof与rdb两种方式,rdb对存储数据有压缩,备份最好选择rdb文件进行备份。数据恢复在从rdb文件中提取。
redis cluster集群提供了扩容功能,以解决在线动态扩容和数据迁移等问题。Redis 集群没有并使用传统的一致性哈希来分配数据,而是采用另外一种叫做哈希槽 (hash slot)的方式来分配的。redis cluster 默认分配了 16384 个slot,当我们set一个key 时,会用CRC16算法来取模得到所属的slot,然后将这个key 分到哈希槽区间的节点上,具体算法就是:CRC16(key) % 16384
。
注意的是:必须要3个以后的主节点,否则在创建集群时会失败,我们在后续会实践到。
redis良好的性能是做缓存的最佳选择之一,其自带的benchmarks性能测试工具的数据也说明。但Cluster集群,不同业务场景下的性能有什么不同吗?耳听为虚,眼见为实,让我们来测试下吧。
说明下这里的算法指的是内存淘汰算法。redis作为应用级缓存使用,在内存超过限制时,按照配置的策略,淘汰掉相应的kv,使得内存可以继续留有足够的空间保存新的数据。
了解Redis的配置后就开始搭建集群。redis集群建议最少6个节点,在此之前先明确几个概念。
工欲善其事,必先利其器。先了解Redis的配置项,通常保存在redis.conf配置文件,如下对redis-3.2.6的配置文件做详细介绍。
最近公司需要基于第三方开源项目做分布式缓存,业界有Redis、Memcached、Ehcache等产品。对产品redis做了一些研究,于是决定整理一下该产品的特性及使用场景拿出来分享。
Redis有sentinel哨兵机制监控管理多节点,也有通过代理管理的codis,3.0之后官方推出Cluster的集群方案。它们各有优缺点,sentinel简洁方便,codis管理方便,cluster性能优越。
Travis-CI是国外新兴的开源持续集成构建项目,支持Github项目,使用了小清新的yml语法,通过yml语法来驱动执行。Github项目的支持非常简单,开通Travis后只需编写.travis.yml就能完成持续集成。
Coveralls是一个自动化测试覆盖率的服务,它能提供代码覆盖率并友好的展现。
让我们现在开始吧!
对于评论系统我个人比较偏爱Disqus,喜欢Disqus的简洁风格,博客启用至今一直使用它。多说是国内使用最多最便捷的第三方评论系统。为什么要用多说呢?当然是Disqus别强了,虽说翻墙对于程序员来说像吃饭一样简单,但对新手还是有一定的门槛。考虑再三还是决定换用多说,让评论飞扬起来吧。已有的Disqus的评论再见了,相信Disqus会在回来的。
以此来祭奠逝去的Disqus。
随着公司应用系统的不断增多,原有手工部署流程越来越不满足上线的需求。为了各个系统能快速迭代与测试,减少上线流程时间和人为出错,迫切需要一套自动化部署系统。