logo头像

待到风起时,扬帆济沧海

面试

单线程的redis为什么快

1. 基本概念Redis性能如此高的原因,我总结了如下几点: 纯内存操作 单线程 高效的数据结构 合理的数据编码 其他方面的优化 在 Redis 中,常用的几种数据结构和应用场景如下: String:缓存、计数器、分布式锁等。 ...

php错误和异常处理总结

1. 异常1.1 抛出异常当一个异常被抛出后代码会立即停止执行,其后的代码将不会继续执行,PHP 会尝试查找匹配的 “catch” 代码块。如果一个异常没有被捕获,而且又没用使用set_exception_handler()作相应的处...

php垃圾回收引发的一些底层了解

底层的运行原理和机制四层体系架构图 Zend引擎:Zend整体用纯C实现,是PHP的内核部分,它将php代码翻译(词法、语法解析等一系列编译过程)为可执行opcode的 处理并实现相应的处理方法、实现了基本的数据结构(如hashtab...

nginx总结

nginx的特性 非阻塞、高并发连接:处理2-3万并发连接数,官方监测能支持5万并发 内存消耗小:开启10个nginx才占150M内存,Nginx采取了分阶段资源分配技术 内置的健康检查功能 master/worker结构:一个...

redis总结

1. Redis为什么那么快 纯内存操作 单线程操作,避免了频繁的上下文切换 采用了非阻塞I/O多路复用机制 我们的redis-client在操作的时候,会产生具有不同事件类型的socket。在服务端,有一段I/0多路复用程序,将其...

缓存穿透、雪崩、击穿的解决方法

1.缓存穿透缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要是有人利用不存在的key...

mysql总结

MySQL复制原理及流程 mysql启动以后会存在2个进程,一个是sqlThred进程一个IOThred进程 在Slave 服务器上执行sart slave命令开启主从复制开关,开始进行主从复制 Slave服务器的IO线程会通过在m...