本篇文章将以redis的bigkey为主题进行技术展开,通过从认识redis的高性能,bigkey的危害.存在原因.4种解决方案,到模拟实战演练的介绍方式,来跟大家一起认识.探讨和学习redis. 先认识一下redis和bigkey吧 redis--互联网的宠儿 redis作为一款优秀的工业级内存型数据库,自诞生后便逐渐成为互联网的宠儿,支撑起了互联网丰富多彩的功能和巨大的QPS(每秒查询率),并和nginx一样成为高性能的代名词,比如微博上的每一条热搜背后都有着redis默默守候.从某种意义上…
reids是一个key-value存储系统,为了保证效率,缓存在内存中,但是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,以保证数据的持久化. 所以:redis是一个支持持久化的内存数据库,可以将内存中的数据同步到磁盘保证持久化. Redis的持久化策略:2种 rdb:  快照形式是直接把内存中的数据保存到一个dump文件中,定时保存,保存策略. aof:把所有的对redis的服务器进行修改的命令都存到一个文件里,命令的集合. RDB:默认情况下,是快照rdb的持久化…
zabbix告警邮件.短信发送错误快速排查方法 背景 zabbix告警邮件.短信经常有同事反馈发送错误的情况,这个问题排查的角度很多,那么最快捷的角度是什么呢? 在我看来,最快的角度就是判断这个告警邮件或者短信是从从哪个触发器触发的,找到对应的触发器自然很容易定位是否是告警规则设置的问题. 数据库alerts表 这个之前也介绍过alerts 表,记录了zabbix系统中所有的告警发送记录,即理论上任何一个告警短信.邮件均会在该表留下记录的. mysql> desc alerts; +------…
概述 内存泄露是Android开发中比较常见的问题,一旦发生会导致大量内存空间得不到释放,可用内存急剧减少,导致运行卡顿,部分功能不可用甚至引发应用crash.对于复杂度比较高.多人协同开发的项目来讲,如何快速排查并解决内存泄露问题,往往是一个很棘手的问题,也是作为一名高级Android工程的基本技能.本文旨在简单介绍内存泄漏产生的原因,总结Android中常见的内存泄漏,重点介绍如何使用工具快速排查并解决此类问题. Android常见内存泄露分析 Java作为一种高级语言,内存管理的任务大部分…
转载于GIT路径 https://github.com/oldratlee/useful-scripts/blob/master/docs/java.md#beer-show-busy-java-threadssh show-busy-java-threads.sh 用于快速排查Java的CPU性能问题(top us值过高),自动查出运行的Java进程中消耗CPU多的线程,并打印出其线程栈,从而确定导致性能问题的方法调用.目前只支持Linux.原因是Mac.Windows的ps命令不支持列出线程…
安装consul client consul 客户端检脚本 ============================================================================================= 在192.168.56.122服务器上 ============================================================================================= 1.安装redis yu…
Java技术栈 www.javastack.cn 优秀的Java技术公众号 来源:http://t.cn/EAEu4to 一.热点问题产生原因 热点问题产生的原因大致有以下两种: 1.1 用户消费的数据远大于生产的数据(热卖商品.热点新闻.热点评论.明星直播). 在日常工作生活中一些突发的的事件,例如: 双十一期间某些热门商品的降价促销,当这其中的某一件商品被数万次点击浏览或者购买时,会形成一个较大的需求量,这种情况下就会造成热点问题. 同理,被大量刊发.浏览的热点新闻.热点评论.明星直播等,这…
由于一台服务器开启许多Redis实例,如果一台一台的监控太耗费时间,也非常容器出错.这种费力不讨好的事情我们是坚决杜绝的,幸好ZABBIX有自动发现功能,今天我们就来用该功能来监控我们的Redis实例. 监控项 Redis的监控信息主要通过info命令来获取,下面列举几个我们的监控项. uptime_in_days ##redis启动的天数 connected_clients ##redis连接的客户端数 blocked_clients: ##正在等待阻塞命令(BLPOP.BRPOP.BRPOP…
一.哨兵机制 有了主从复制的实现以后,如果想对主服务器进行监控,那么在redis2.6以后提供了一个"哨兵"的机制.顾名思义,哨兵的含义就是监控redis系统的运行状态.可以启动多个哨兵,去监控redis数据库的运行状态.其主要功能有两点: a.监控所有节点数据库是否在正常运行. b.master数据库出现故障时,可以自动通过投票机制,从slave节点中选举新的master,实现将从数据库转换为主数据库的自动切换. 一个一主多从的Redis系统中,可以使用多个哨兵进行监控任务以保证系统…
本文介绍一种通过Jedis和Cluster实现Redis集群(主从)的高可用方案,该方案需要使用Jedis2.8.0(推荐),Redis3.0及以上版本(强制). 附:Redis Cluster集群主从方案:http://www.cnblogs.com/soul-wonder/p/8891256.htmlRedis Sentinel主从高可用方案:http://www.cnblogs.com/soul-wonder/p/8891217.html 一.Redis集群介绍 Redis 集群是一个提供…