阿里云数据库技术专家(Redis方向)
Jedis虽然使用起来比较简单,但是如果不能根据使用场景设置合理的参数(例如连接池参数),不合理的使用一些功能(例如Lua和事务)也会产生很多问题,本文对这些问题逐个说明
Redis开发与一书勘误列表如下:https://cachecloud.github.io/2017/02/17/%E3%80%8ARedis%E5%BC%80%E5%8F%91%E4%B8%8E%E8%BF%90%E7%BB%B4%E3%80%8B%E5%8B%98%E8%AF%AF/ ...
由于写书的原因,2016年没有在Redis以外的技术进行学习和实践,好在一年的努力没有白费,CacheCloud开源效果不错,书即将出版(内容上个人比较满意,虽然还有一些遗憾),废话少说了。
本文部分内容来自《Redis开发与运维》一书,转载请声明。原文如下: https://cachecloud.github.io/2016/11/17/Redis%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%B8%B8%E8%A7%81%E5%BC%82%E5%B8%B...
声明: 原定书名《Redis3开发运维最佳实践》改为《Redis开发与运维》,因为根据最新的广告法,书名不允许有最字。 一、图书简介 本人和同事撰写的新书《Redis开发与运维》近期已经截稿,本书重点关注Redis开发运维中方方面面的问题,作者是来自搜狐视频一线的Redis开发和运维工程师-付磊和张益军。
info的一个kafka系列: Kafka剖析(一):Kafka背景及架构介绍 Kafka设计解析(二):Kafka High Availability (上) Kafka设计解析(三):Kafka High Availability (下) Kafka设计解析(四):Kaf...
一、安装、配置 1.下载 kafka是由linkedin开源的,但是已经托管在了apache,所以需要从apache下载,http://kafka.apache.org/downloads.html。
Redis3.2.0在2016年5月正式发布,有一些新的特性以及修复了之前版本的一些bug,所以有必要对其进行研究: Redis 3.2与3.0对比 Redis 3.2新特性-GEO Redis 3.
一、Redis3.0与3.2文件对比 1. clone redis git clone https://github.com/antirez/redis.git 2. checkout分支 cd redis git checkout 3.
一、HBase生态系统 二、HBase架构图 三、HBase和Hadoop版本矩阵 四、HBase组件 五、行列存储 六、Region Server 七、scale out/up 水平扩容 垂直扩容 ...
CacheCloud-资源归档 资源 CacheCloud github主页: https://github.com/sohutv/cachecloud CacheCloud wiki: https://github.
CacheCloud从3月17日正式开源,虽然在我们内部一直运行正常,开源后虽然没有大的问题,但还是遇到很多小问题,比如操作系统兼容性问题,数据库版本问题,一些配置不灵活等等问题。 期间感谢大家的反馈,现在将CacheCloud修复的问题列出来,希望将来这个能一直更新下去,有问题去github issue一下。
搜狐视频Redis云平台CacheCloud的github主页:https://github.com/sohutv/cachecloud 欢迎关注、star、拍砖 转载请注明出处哈:http://carlosfu.iteye.com 声明: 虽然录制的视频没有进行特别精心的准备,就是想到哪聊到哪,但是较为完整的介绍了CacheCloud的相关内容以及一些Redis的相关知识,希望对大家有帮助,不喜勿喷。
一、一些概念 1. OOM killer 顾名思义,OOM(out of memory) killer,是Linux操作系统发现内存不足时,它会强制杀死一些用户进程(非内核进程),来保证系统有足够的物理内存进行分配。
转载请注明出处哈:http://carlosfu.iteye.com/blog/2240426 近期给实习生培训redis相关课程,同时录制了一份视频,比较入门,不才分享给大家。
一、目标: 由于培训需要演示dubbo的快速实战,因此有了本文,再次声明,本文不是最佳配置。 使用dubbo,构建一个provider提供视频信息服务,一个consumer获取视频信息服务并调用。
转载请注明出处哈:http://carlosfu.iteye.com/blog/2240426 声明: 我是java程序员,对node不是很熟悉,只是写书的需要,要了解一下redis的node客户端,欢迎拍砖。
转载请注明出处哈:http://carlosfu.iteye.com/blog/2240426 声明: 我是java程序员,对python不是很熟悉,只是写书的需要,要了解一下redis的python客户端,欢迎拍砖。
转载请注明出处哈:http://carlosfu.iteye.com/blog/2240426 一、问题: 1. 应用端使用了我们提供的一个redis-sentinel集群(1主,1从,3个sentinel) 2. 客户端设置了超时时间为200ms, 下面是应用端提供的超时日志。
系统间通信技术专栏
转载请注明出处哈:http://carlosfu.iteye.com/blog/2240426 实际中,多个sentinel、master、slave不应该在一台机器 一、准备redis(下载、编译、安装、配置目录、数据目录) 1.
转载请注明出处哈:http://carlosfu.iteye.com/blog/2269678 一、引出热点key问题 我们通常使用 缓存 + 过期时间的策略来帮助我们加速接口的访问速度,减少了后端负载,同时保证功能的更新,一般情况下这种模式已经基本满足要求了。
本文部分内容来自《Redis开发与运维》一书,转载请声明。 缓存使用与设计系列文章--1.缓存的一些基本常识。 缓存使用与设计系列文章--2.是否真的需要缓存? 缓存使用与设计系列文章--3.缓存常用更新策略对比。
转载请注明出处哈:http://carlosfu.iteye.com/blog/2269678 一、缓存的成本和收益是什么: 既然要讨论是否真的需要缓存这个问题,就要知道缓存带来的成本与收益(好处、坏处)是什么? 收益 成本 缓存 + 后端存储(资源) 1. 加速读写 2. 降低后端负载 1. 数据不一致性 2. 代码维护成本 3. 架构复杂度 上面的表格应该清楚的表达了使用缓存后的收益和成本分别是什么。
转载请注明出处哈:http://carlosfu.iteye.com/blog/2269678 一、什么是缓存粒度 下面这个图是很多项目关于缓存使用最常用的一个抽象,那么我们假设storage层为mysql, cache层为redis。
众所周知,Redis提供了发布订阅功能以及利用List数据结构可以实现消息队列的功能,本来这些也没什么技术难度,但是每次写这些程序时候,生产者和消费者都要写一些重复代码(管理Redis)和一些容易混乱的代码(消费者如何实现发布订阅和消息队列的消费),能不能有个中间件或者一个工具(...
转载请注明出处哈:http://carlosfu.iteye.com/blog/2269678 最近有点忙,一直没更新博客,继续坚持下去。 一、背景 1. 什么是缓存无底洞问题: Facebook的工作人员反应2010年已达到3000个memcached节点,储存数千G的缓存。
一、现象 1. 报警:我们的redis私有云有几百个redis实例,对于每个实例的存活,都有定时任务会每隔5分钟,重试多次ping命令去检查它的存活性,比如多次都ping不通,这时候就会收到报警短信: xxx系统-实例(10.10.xx.xx:xxxx)-由运行中变为心跳停止。
开博客正好三个月了,利用闲暇竟然写了50篇文章,其中40几篇原创,虽然水平有限,但是几乎每一篇都是尽心尽力的写,竟然成为了本月的TOP1博客(持续一周)(用郭老师的话说很欣慰啊),继续加油,继续我自己所知、所想、所理解写出来分享给大家。
转载请注明出处哈:http://carlosfu.iteye.com/blog/2254154 由于演讲时间有限,有关Redis-Cluster,演讲者没做太多介绍,简单的介绍了一些Redis-Cluster概念作用和遇到的两个问题,我们在Redis-Cluster也有很多运维经验,将来的文章会介绍。
转载请注明出处哈:http://carlosfu.iteye.com/blog/2254154 一、背景: 选择合适的使用场景 很多时候Redis被误解并乱用了,造成的Redis印象:耗内存、价格成本很高: 1. 为了“赶时髦”或者对于Mysql的“误解”在一个并发量很低的系统使用Redis,将原来放在Mysql数据全部放在Redis中。
一、现象: redis-cluster某个分片内存飙升,明显比其他分片高很多,而且持续增长。
转载请注明出处哈:http://carlosfu.iteye.com/blog/2254154 一、背景 1. AOF: Redis的AOF机制有点类似于Mysql binlog,是Redis的提供的一种持久化方式(另一种是RDB),它会将所有的写命令按照一定频率(no, always, every seconds)写入到日志文件中,当Redis停机重启后恢复数据库。
转载请注明出处哈:http://carlosfu.iteye.com/blog/2254154 1. 背景: 大部分互联网公司都会有Mysql或者Oracle的DBA,但是在Nosql方面一般不会设置专门的DBA。
转载请注明出处哈:http://carlosfu.iteye.com/blog/2254154 上上周和同事(龙哥)参加了360组织的互联网技术训练营第三期,美团网的DBA负责人侯军伟给大家介绍了美团网在redis上踩得一些坑,讲的都是干货和坑。
本文大部分来自: http://blog.csdn.net/whuslei/article/details/6667471 一、基本概念: 说来惭愧,工作这么久一直对TCP的三次握手模模糊糊,最近排查jedis connection time out过多的问题,才发现理解TCP协议非常的重要。
原文地址:http://blog.sina.com.cn/s/blog_5374d6e30101lex3.html 有一个同事找我,他怀疑服务器的http连接过多,造成一些请求丢失,从而丢失了日志,但不知道怎么看,让帮忙确认一下。
转载请注明出处哈:http://carlosfu.iteye.com/blog/2240426 一、spring-mvc添加拦截器配置: 对所有/下的访问都做拦截 二、 定义VisitCounterStatInterceptor 1. 这里我们使用了guava的中的AtomicLongMap, 它的底层是ConcurrentHashMap,可以用来记录每个key的counter, 可以作为一种很高效的计数器。
转载请注明出处哈:http://carlosfu.iteye.com/blog/2269678 一、什么是缓存雪崩 从下图可以很清晰出什么是缓存雪崩: 1. 由于Cache层承载着大量请求,有效的保护了Storage层(通常认为此层抗压能力稍弱),所以Storage的调用量实际很低,所以它很爽。
此文为转载,原文: http://afei2.sinaapp.com/?p=536 redis支持使用aof来进行持久化,防止数据丢失,aof的刷新策略通过参数appendfsync控制,有三个值:always、everysec、no,默认是everysec。
转载请注明出处哈:http://carlosfu.iteye.com/blog/2240426 一、现象: 我们的redis私有云,对外提供了redis-standalone, redis-sentinel, redis-cluster三种类型的redis服务。
做了两年在线教育的课程运营,对于国内老师如何包装课程有一些见解,简单说说自己的观点: 一大部分老师教的内容都没有问题 99%的老师授课方法有问题 具体说来: 在线培训,不管是视频还是直播,都需要牢牢抓住学生,从课程标题、课程介绍开始,标题一要吸引眼球,二要简明扼要,说清楚重...
转载请注明出处哈:http://carlosfu.iteye.com/blog/2269678 一. 缓存穿透 (请求数据缓存大量不命中): 缓存穿透是指查询一个一定不存在的数据,由于缓存不命中,并且出于容错考虑, 如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。
转载请注明出处哈 一、测试环境 1. Redis版本: 由于我们较早的使用了Redis-Cluster版本,所以此测试使用的是Redis 3.0.0 RC1 (version 2.9.101) 后来有开发者提出,如果是大集群的话,会造成判定失败过慢,造成failover失败,所以作者在Redis 3.0.0 RC3做了修正,当然现在的release版已经不存在这个问题了。
转载请注明出处哈:http://carlosfu.iteye.com/blog/2269678 一、缓存的几种更新策略 从下面的表格看,缓存的更新策略大致分为三种,本文将从一致性和维护成本两个方面对于三种缓存更新策略进行简要说明,因为这些东西比较理论和抽象,如哪里说得不对,欢迎拍砖。
微博在大规模、高负载系统中的典型问题 新浪微博平台及大数据技术专家 秦迪 API单位误解造成的严重故障 阿里-林昊 你应该更新的Java知识 郑烨 基于SQL的秒杀解决方案 楼方鑫 高性能,高可用,可扩展在途牛旅游网的实践经验 微博平台架构练级之高性能与高可用 姚四芳 大众点评的精益实践 娄晓博(产品相关). 豌豆荚分布式Redis的设计与实现 大神推荐:支付宝红包的双11挑战 本次分享系统地介绍红包对于今年双11的准备工作,从容量评估、性能优化、稳定性保证方面解答上述问题的应对。
转载请注明出处哈:http://carlosfu.iteye.com/blog/2240426 一、命令说明: info: 部分统计和状态 info all: 全部统计和状态 info section: 某一块的统计和状态(例如info Replication) Redis的info all命令包含redis实例最全的状态和统计信息。
转载请注明出处哈:http://carlosfu.iteye.com/blog/2240426 一、Redis单机下载、编译、安装: cd /opt/soft wget http://download.
转载请注明出处哈:http://carlosfu.iteye.com/blog/2240426 通过jedis来连接操作redis总体来说比较简单,按照redis单机、redis-sentinel、redis-cluster略有不同。
转载请注明出处哈:http://carlosfu.iteye.com/blog/2240426 一、目的 Redis-Cluster是Redis的分布式解决方案,Redis Cluster提供了在线扩容(添加分片)功能,有效扩展存储能力和读写能力。