前文回顾 建议前一篇文章没看过的同学先看下前面的文章: 「老司机带你玩转面试(1):缓存中间件 Redis 基础知识以及数据持久化」 过期策略 Redis 的过期策略都有哪些? 在聊这个问题之前,一定要明确的一件事情是,如非必要,任何进入缓存的数据都应该设置过期时间,因为内存的大小是有限的,一台机器可能就那么几十个 G ,你不能拿内存和硬盘比,一台机器硬盘几个 T 都是洒洒水,只要想装,几十个 T 都装得下,关键还不贵. Redis 设置删除策略,主要有两种思路,一种是定期删除,另一种是惰性删除…
前文回顾 建议前面文章没看过的同学先看下前面的文章: 「老司机带你玩转面试(1):缓存中间件 Redis 基础知识以及数据持久化」 「老司机带你玩转面试(2):Redis 过期策略以及缓存雪崩.击穿.穿透」 Redis 主从模式 在生产环境使用 Redis ,完全禁止使用单机模式,单机模式风险太高,一台机器出于某些原因挂掉,就会导致整个缓存服务死掉,所以,我们需要使用多台机器来保证 Redis 的高可用,同时也顺便提升了并发性. 对于 Redis 缓存而言,更常见的应用场景是支持读高并发,而写高…
前文回顾 建议前面文章没看过的同学先看下前面的文章: 「老司机带你玩转面试(1):缓存中间件 Redis 基础知识以及数据持久化」 「老司机带你玩转面试(2):Redis 过期策略以及缓存雪崩.击穿.穿透」 「老司机带你玩转面试(3):Redis 高可用之主从模式」 哨兵模式 前面介绍了 Redis 的主从模式,主从模式只能实现读高可用,致命的弱点是写无法高可用,一旦 master 节点挂了,整个集群将无法写入数据,这并不符合我们对 Redis 高可用集群的期望. 那么,是不是有一种方法,可以做…
前文回顾 建议前面文章没看过的同学先看下前面的文章: 「老司机带你玩转面试(1):缓存中间件 Redis 基础知识以及数据持久化」 「老司机带你玩转面试(2):Redis 过期策略以及缓存雪崩.击穿.穿透」 「老司机带你玩转面试(3):Redis 高可用之主从模式」 「老司机带你玩转面试(4):Redis 高可用之哨兵模式」 简介 之前介绍的 Redis 的高可用方案:主从模式或者说哨兵模式,都只是在解决高可用的问题,比如说主从模式解决了读高可用,哨兵模式解决了写高可用. 如果我们需要缓存的数据…
引言 今天周末,我在家坐着掐指一算,马上又要到一年一度的金九银十招聘季了,国内今年上半年受到 YQ 冲击,金三银四泡汤了,这就直接导致很多今年毕业的同学会和明年毕业的同学一起参加今年下半年的秋招,这个竞争就比较激烈了. 最近后台有一些朋友给我留言,希望我能写写招聘相关的内容,毕竟虽然说是金九银十,但是很多大公司的校招从 7 . 8 月份就开始了. 本来是想写点面试技巧和简历技巧的,但我转念一想,大家都是搞技术的,问题的核心还是技术能力要过关,面试技巧这东西最多只能用作锦上添花,而技术能力过不去,…
1 面试题 Redis集群模式的工作原理说一下?在集群模式下,key是如何寻址的?寻址都有哪些算法?了解一致性hash吗? 2 考点分析 Redis不断在发展-Redis cluster集群模式,可以做到在多台机器上,部署多个实例,每个实例存储一部分的数据,同时每个实例可以带上Redis从实例,自动确保说,如果Redis主实例挂了,会自动切换到redis从实例顶上来. 现在新版本,大家都是用Redis cluster的,也就是原生支持的集群模式,那么面试官肯定会就redis cluster对你来…
本文从实例出发,介绍 CompletableFuture 基本用法.不过讲的再多,不如亲自上手练习一下.所以建议各位小伙伴看完,上机练习一把,快速掌握 CompletableFuture. 个人博文地址:https://sourl.cn/s5MbCm 全文摘要: Future VS CompletableFuture CompletableFuture 基本用法 0x00. 前言 一些业务场景我们需要使用多线程异步执行任务,加快任务执行速度. Java 提供 Runnable Future<V>…
当大型需求被数个公司分割开来,各公司系统相互交换数据的问题就会接踵而来.毕竟是多家不同的公司的产品,研发开发语言.采用技术框架基本上是百花齐放.怎样让自家系统提供的服务具有跨平台.跨语言.跨各种防火墙,让其他公司的研发用起来没障碍和爽呢?进过前期的技术调研和实践,最终将目光放在了轻量级 webService 服务上面      1. WebService 服务技术的关键点XML:  做为 WebService 的基本数据表示,特点即容易组织和分析,而且又与开发平台无关. SOAP: 做为 Web…
网上有 Spring.Net 的相关的很多介绍的文章还有实践例子,推荐个还不错的博客 Spring.Net 学习笔记 .以前对 Spring.Net 算是有过一面之缘,但却迟迟未真正相识.在网上有太多的五花八门的文章来介绍它,讴歌它,也有很多的在线学习文档.很多人也尝试去学习这个神奇的框架,你会发现网上的资料虽然很多,但有些很枯燥的术语频繁的出现在文章中导致理解起来很吃力,这也让很多只是希望入门的人难以掌握而无奈半途而废.刚好在一个项目中需要整合这个框架,抽了点时间研究下,也算小有成果,今天偷着…
引言 今天是2019年2月12号,也就是大年初八,我接到了高中同学刘有码面试失利的消息. 他面试的时候,身份是某知名公司的小码农一枚,却因为不懂自己生产上Redis是如何部署的,导致面试失败! 人间惨剧,莫过于此. 接到他面试失利的消息,我差点发出猪一样的笑声,显然是平时太少关注孤独烟这个公众号! 我提笔6次,放笔6次,差点因为过于兴奋而没法编下去.最后还是硬着头皮写下了本文! 因此,今天我们来谈谈Redis集群这个话题,需要说明的是本文 适合人群:不知道自己生产redis集群架构,以及对Red…
Redis作为一款性能优异的内存数据库,支撑着微博亿级社交平台,也成为很多互联网公司的标配.这里将以Redis Cluster集群为核心,基于最新的Redis5版本,从原理再到实战,玩转Redis集群 常见Redis集群方案 在介绍Redis Cluster集群方案之前,为了方便对比,先简单了解一下业界常见的Redis集群方案: 1 基于客户端分片 Redis Sharding是Redis Cluster出来之前,业界普遍使用的多Redis实例集群方法.其主要思想是基于哈希算法,根据Redis数…
前言: 我们看到分析 Redis 使用或原理的文章不少,但是完整搭建一套独立的 redis 集群环境的介绍,并不是很多或者说还不够详细. 那么,本文会手把手带着大家搭建一套 Redis 集群环境,Redis 集群在公司内部生产环境,大都是使用 Linux 操作系统搭建的. 所以,本文也带领大家搭建一套虚拟机环境,虚拟机中安装 Linux,常用的 Linux 操作系统如 Ubuntu.CentOS.Redhat等等. 正好我的笔记本上以前下载过 CentOS 镜像,所以咱们就使用 CentOS 来…
引言 今天是2019年2月12号,也就是大年初八,我接到了高中同学刘有码面试失利的消息. 他面试的时候,身份是某知名公司的小码农一枚,却因为不懂自己生产上Redis是如何部署的,导致面试失败! 人间惨剧,莫过于此. 接到他面试失利的消息,我差点发出猪一样的笑声,显然是平时太少关注孤独烟这个公众号! 我提笔6次,放笔6次,差点因为过于兴奋而没法编下去.最后还是硬着头皮写下了本文! 因此,今天我们来谈谈Redis集群这个话题,需要说明的是本文 适合人群:不知道自己生产redis集群架构,以及对Red…
为什么时隔这么久我又回来了呢? 回来圈粉. 开玩笑的,前段时间ipv6被拒啊,超级悲剧的,前后弄了好久,然后需求啊什么的又超多,所以写好的东西也没有时间整理.不过既然我现在回来了,那么这将是一个井喷的时节.(感觉给自己立下了什么死亡flag,啧啧啧) 先说什么呢?说一下CAAnimation相关的吧,因为最近也刚好在研究这些东西.不过看到末尾之前,请你相信我今天讲CAAnimation绝对是有阴谋的. 老司机带你走进Core Animation 事实上,老司机今天讲的只是核心动画(Core An…
通常在本机开发环境中需要搭建所有的服务,还要修改本地的hosts,实在是不胜其烦.如今有了docker,完全不用污染本地环境,且看老司机带你搭建一个asp.net core的开发环境集群.愿你走出虚拟机,归来仍是干净的开发机. 教程比较长,所以分成多篇连载. First things first:需要安装一个数据库,如今有了mssql on linux,真是太棒了,原来mssqlserver中的测试数据都可以无缝迁移过来. docker的安装细节大家自己找找看. 进入bash,执行以下命令 cd…
Kali是BackTrackLinux完全遵循Debian开发标准彻底的完全重建.全新的目录框架,复查并打包所有工具,我们还为VCS建立了Git树. 本次推荐内容主要介绍Kali-Linux的安装,包括镜像文件的快速安装,以及Kali-Linux硬盘安装.Kali-LinuxUSB软启动安装.Kali-Linux基于树莓派的安装.Kali-Linux虚拟机安装和Kali-Linux双系统安装.此外还介绍了Kali-Linux的基本配置和工具的作用,Kali-Linux网络环境和配置文件.希望表弟…
现在项目上用redis的话,很少说不用集群的情况,毕竟如果生产上只有一台redis会有极大的风险,比如机器挂掉,或者内存爆掉,就比如我们生产环境 曾今也遭遇到这种情况,导致redis内存不够挂掉的情况,当然这些都是我们及其不能容忍的,第一个必须要做到高可靠,其次才是高性能,好了,下面我来 逐一搭建一下. 一:Redis集群搭建 1. 下载 首先去官网下载较新的3.2.0版本,下载方式还是非常简单的,比如官网介绍的这样. $ wget http://download.redis.io/releas…
上篇文章<支撑微博亿级社交平台,小白也能玩转Redis集群(原理篇)>介绍了Redis集群相关原理,这篇文章将介绍Redis Cluster集群的搭建.配置,运维.扩容等具体操作 集群搭建 2018年10月 Redis 发布了稳定版本的 5.0 版本,推出了各种新特性,其中一点是集群管理工具从基于Ruby的redis-trib.rb移植到基于C语言redis-cli中,方便集群的构建和管理 Redis Cluster集群运行至少需要包含3个主节点,实现高可用最少需要3主3从6个节点 以下步骤基…
安装ruby后查找如下文件  vi  进去后编辑 此处编写自己的密码,重启后便可带密码访问集群 随便选择一个节点输入如下指令查看集群信息 正常关闭redis命令如下: 重启redis集群再次以相同的命令创建时会出现如下错误: 创建集群后是因为某个库里面有残存数据,是因为上次不正常关闭redis造成的,需要删除相应节点下的dump.rdb,nodes.conf 和.aof文件 注意:一般集群创建完成后,优雅关闭后不用执行上述命令,那是重新创建集群的命令.只需要把每个节点重新启动即可重新启动集群…
面试官:聊下Redis的分片集群,先聊 Redis Cluster好咯? 面试官:Redis Cluser是Redis 3.x才有的官方集群方案,这块你了解多少? 候选者:嗯,要不还是从基础讲起呗? 候选者:在前面聊Redis的时候,提到的Redis都是「单实例」存储所有的数据. 候选者:1. 主从模式下实现读写分离的架构,可以让多个从服务器承载「读流量」,但面对「写流量」时,始终是只有主服务器在抗. 候选者:2. 「纵向扩展」升级Redis服务器硬件能力,但升级至一定程度下,就不划算了. 候选…
导读 如何更加愉快地利用sys库做一些监控? 快来,跟上老司机,体验sys库的多种新玩法~ MySQL5.7的新特性中,非常突出的特性之一就是sys库,不仅可以通过sys库完成MySQL信息的收集,还可以用来监控和排查问题. 但你知道吗,sys库其实还有很多种玩法,有的或许单看表名就知道了,但有一些,还是需要老司机带路哦~ 一.用户.连接类 查看每个客户端IP过来的连接消耗资源情况. 2.查看每个用户消耗资源情况 3.查看当前连接情况(有多少连接就应该有多少行) 4.查看当前正在执行的SQL和执…
  前言 作为一个学习和使用Python的老司机,好像应该经常总结一点东西的,让新司机尽快上路,少走弯路,然后大家一起愉快的玩耍. 今天,咱们就使用vagrant配合xshell打造一站式Python开发测试环境. 目的 让你在Windows下,也能愉快的使用Linux环境调试Python. 适用人群:Python新手和希望在Windows下使用Linux环境调试Python的小伙伴们. 难度:super easy 最终效果:只用一个xshell终端(其他类似的都可以),启动ubuntu虚拟机,…
前言 偷偷和你们说,我搞了一份内部资料,该内部资料共有13张PPT,据作者透露,该PPT至少花了整整1周时间才编写完成,其内容简洁明了,内容深度足够,易于初学者理解,也给深度开发人员分享了不一样的消息队列的玩法.特别重要的是,该架构目前已大面积的稳定应用于生产环境. PPT的内容我作了脱敏处理,经作者审核后分享给大家. 特点 该消息队列的主要特点是:主动式.其架构主要由3大部分组成,分别是:消息生产者.消息处理集群.消息消费者,该架构和一般的消费队列最大的区别就是:消息生产者和消费者不直接接触消…
session是啥?浏览器有个cookie,在一段时间内这个cookie都存在,然后每次发请求过来都带上一个特殊的jsessionid cookie,就根据这个东西,在服务端可以维护一个对应的session域,里面可以放点儿数据. 一般只要你没关掉浏览器,cookie还在,那么对应的那个session就在,但是cookie没了,session就没了.常见于什么购物车之类的东西,还有登录状态保存之类的. 这个不多说了,懂java的都该知道这个. 但是你单块系统的时候这么玩儿session没问题啊,…
自然语言处理是一门用于理解人类语言.情感和思想的技术,被称为是人工智能皇冠上的明珠. 随着深度学习发展,自然语言处理技术近年来发展迅速,在技术上表现为BERT.GPT等表现极佳的模型:在应用中表现为chatbot.知识图谱.舆情监控等基于NLP技术的产品在市场上的大规模出现. 基于此,各类公司开始出现NLP算法工程师的需求,待遇在软件工程师岗位中处于相当上游的水平. 基于此,不少同学和工程师有学习NLP的愿望,本文对首先NLP做一个简单的介绍:然后,作为一个过来人,为初学NLP的同学提供一些必要…
viewpagerindicator,既使用viewpager翻页时候,标题的指示条随着改变的控件,是常用android控件之一,几乎所有的新闻类APP中都有使用.如下图所示: 今天,我们将从0到1实现这一控件. 其实,实现这一控件思路很简单: ①对头部的标题栏进行布局,头部标题栏,只能进行单选,这符合radiobutton的特质,但是普通的radiobutton,不是这样的吗? 显然,我们在这里需要写样式进行处理,由于头部标题栏的条目非常的多,一个屏幕放不下,因此我们需要一个水平滚动条来盛放这…
Jmeter的安装   官网下载地址:http://jmeter.apache.org/download_jmeter.cgi 作为Java应用,是需要JDK环境的,因此需要下载安装JAVA,并且作必要的的环境变量配置. 一.bin目录 examples: 目录中有CSV样例 jmeter.bat/jmeter.sh  windows的启动文件/linux的启动文件,通过编辑可以修改Jmeter启动时候的JVM参数等等 jmeter.log jmeter运行日志文件 jmeter.propert…
带索引栏的listview,在android开发非常普遍,方便用户进行字母索引,就像微信通讯录这样: 今天,我们就从零到一实现这个具有索引栏的listview. 怎么实现这个控件了,我们应当梳理出一个思路. ①首先应当将字母的索引栏继承与一个控件,通过ondraw方法将字母画出来. ②然后我们应该监听这个字母控件的ontouch事件,来判断用户到底是按了那个字母. ③就是实现这个索引栏与listview的联动,就是将listview滑动到按下字母的位置. 大体流程图如下: 有了前面铺垫,我们引出…
为什么我要使用Less less的作为编写css的工具插件,省时.方便.检测,具体的安装,请参考我的一篇文章<sublime text3 个人使用心得>,里面我讲解了安装方法,使用webstorm的乘客,我会再写一篇配合使用less的文章的. Now,get up my car , I will take with you to fly! * LESS语法 --------------------------------------------------变量-----------------…
ios 8 的时间滚轮控件实现了扁平化,带来很好用户体验,android没有现成控件,小弟不才,数学与算法知识不过关,顾十分苦恼,幸好在github上找到sai大神实现代码,甚为欣喜,顾把学习这个控件点滴记录下来,分享给大家.项目原地址https://github.com/saiwu-bigkoo/Android-PickerView. ios 8 滚轮的效果: 而sai大神控件的效果: 哎,妈呀是不是效果95%相识啊. 好了,废话少说,谈谈我从这个控件中收获的心得. 首先,我们要高瞻远瞩看一下…