• 学Redis这篇就够了!
    丰富的数据类型 - Redis 支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。原子性 - Redis 的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。其他特性 - Redis 还支持 publish/subscribe 通知,key 过期等特性。也就是说 redis 的 string 可以包含任何数据。string 类型是 redis 最基本的数据类型,string 类型的值最大能存储 512 MB。理解:string 就像是 java 中的 map 一样,一个 key 对应一个 value127.0.0.1:6379>sethelloworldOK127.0.0.1:6379>gethello"world"hashRedis hash 是一个键值对集合。Redis hash 是一个 string 类型的 key 和 value 的映射表,hash 特别适合用于存储对象。list 内的元素是可重复的。setredis 的 set 是字符串类型的无序集合。
  • 数据库分库分表解决方案汇总
    比如上例中,如果频繁用到的查询条件中不带cusno时,将会导致无法定位数据库,从而需要同时向4个库发起查询,再在内存中合并数据,取最小集返回给应用,分库反而成为拖累。而切分之后,数据可能分布在不同的节点上,此时join带来的问题就比较麻烦了,考虑到性能,尽量避免使用join查询。
  • 别乱提交代码了,看下大厂 Git 提交规范是怎么做的!
    Git是现在市面上最流行的版本控制工具,书写良好的commit message能大大提高代码维护的效率。在项目中引入commit message规范已是迫在眉睫。现在市面上比较流行的方案是约定式提交规范,它受到了Angular提交准则的启发,并在很大程度上以其为依据。约定式提交规范是一种基于提交消息的轻量级约定。它提供了一组用于创建清晰的提交历史的简单规则;这使得编写基于规范的自动化工具变得更容易。
  • 头大!RabbitMQ 和 Kafka 到底怎么选?
    前言开源社区有好多优秀的队列中间件,比如RabbitMQ和Kafka,每个队列都貌似有其特性,在进行工程选择时,往往眼花缭乱,不知所措。对于RabbitMQ和Kafka,到底应该选哪个?RabbitMQ架构RabbitMQ是一个分布式系统,这里面有几个抽象概念。所以,到这里小伙伴们就可以看到 RabbitMQ的不足:由于master queue单节点,导致性能瓶颈,吞吐量受限。这里面的每个master queue 在Kafka中叫做Partition,即一个分片。一个队列有多个主分片,每个主分片又有若干副分片做备份,同步机制类似于RabbitMQ。
  • 数据库查询速度优化之解决技巧
    下面我们来以一个表中177条数据比较一下,全表扫描与建立索引之后性能的一个比较.从这两种方式查询数据库结果看,建立索引之后查询速度提高了些,现在数据量还不明显,如果表中有10万条速度,差异就会很明显了.2、写数据语句时尽可能减少表的全局扫描2.1 减少where 字段值null判断SELECT * FROM "tb_real_time_car" where pay_status = null如何这样做,就会导致引擎放弃使用索引而进行全表扫描应该这样去设置:SELECT * FROM "tb_real_time_car" where pay_status = 02.2 应尽量避免在 where 子句中使用!
  • 终于有人把 Nginx 说清楚了,图文详解!
    想必大家一定听说过 Nginx,若没听说过它,那么一定听过它的"同行"Apache 吧!这些都决定了 Apache 不可能成为高性能 Web 服务器,轻量级高并发服务器 Nginx 就应运而生了。Nginx 作为 Web 服务器一直为 Rambler Media 提供出色而又稳定的服务。然后呢,Igor Sysoev 将 Nginx 代码开源,并且赋予自由软件许可证。由于以下这几点,所以,Nginx 火了:Nginx 使用基于事件驱动架构,使得其可以支持数以百万级别的 TCP 连接。Nginx 可以作为一个 HTTP 服务器进行网站的发布处理,另外 Nginx 可以作为反向代理进行负载均衡的实现。这里提到的客户端发送的、Nginx 反向代理服务器接收到的请求数量,就是我们说的负载量。
  • 【12张手绘图】我搞懂了微服务架构!
    今天我们通过一组手绘图来梳理下微服务的核心架构。根据马丁.福勒的描述,我总结了以下几点:①小服务小服务,没有特定的标准或者规范,但他在总体规范上一定是小的。微服务是松耦合的,是有功能意义的服务,无论是在开发阶段或部署阶段都是独立的。微服务允许你利用融合最新技术。②架构演化架构是不断演化出来的,微服务也是这样,当从各大科技公司,规模大到一定程度,完全需要演化成更进一步管理的技术架构体系。缺点是,由于服务没有负载均衡功能,对负载均衡服务,可能会有相当大的性能问题。
  • Linux shell命令总结
    01前言Linux shell命令应该算是非常入门的东西,但是实际上在使用的时候,会遇到各种各样的问题,前几天我在我们的项目上需要做一个功能,根据进程名字杀死这个进程,下面是过程1、我们正常需要的操作是$ps |grep xxx$kill -9 xx2、kill命令是常用的,但是用killall命令会更快$killall -9 xxx3、令我困扰的是我用的那个没有killall然后我做了下面的操作 $adb shell ps |grep speech |awk '{print $2}' > 1.txt
  • Linux常用命令之用户、权限管理
    在Unix/Linux系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限。Unix/Linux系统中的root账号通常用于系统的维护和管理,它对Unix/Linux操作系统的所有部分具有不受限制的访问权限。在Unix/Linux安装的过程中,系统会自动创建许多用户账号,而这些默认的用户就称为“标准用户”。<5>设置用户密码:passwd [用户名]在Unix/Linux中,超级用户可以使用passwd命令为普通用户设置或修改用户口令。
个人资料

定期推送编程基础,不限java,python,javascript,开发框架,数据库,前端,linux等相关知识,致力打造一个实用的推送平台,希望能够成为大家编程面试的宝典.