• MySQL用得好好的,为啥非要转ES?
    同时对于一些复杂的查询,MySQL支持得不够友好,所以订单中心系统使用了Elasticsearch来承载订单查询的主要压力。所以在这种情况下,为了让ES单个节点能够使用最大程度的机器资源,采用每个ES节点部署在单独一台物理机上方式。分片数可以理解为MySQL中的分库分表,而当前订单中心ES查询主要分为两类:单ID查询以及分页查询。考虑到ES集群暂时没有很好的主备方案,同时为了更好地控制ES数据写入,我们采用业务双写的方式来搭设主备集群。ES 订单数据的同步方案MySQL数据同步到ES中,大致总结可以分为两种方案:方案1:监听MySQL的Binlog,分析Binlog将数据同步到ES集群中。
  • php实现JWT(json web token)鉴权实例详解
    JWT是什么JWT是json web token缩写。JWT由三个部分组成:header.payload.signature以下示例以JWT官网为例header部分:{ "alg": "HS256", "typ": "JWT"}对应base64UrlEncode编码为:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9说明:该字段为json格式。alg字段指定了生成signature的算法,默认值为 HS256,typ默认值为JWTpayload部分:{ "sub": "1234567890", "name": "John Doe", "iat": 1516239022}对应base64UrlEncode编码为:eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ说明:该字段为json格式,表明用户身份的数据,可以自己自定义字段,很灵活。sub 面向的用户,name 姓名 ,iat 签发时间。
  • 面试官问:你说说Redis的几个过期策略?
    当设置了过期时间,redis是如何判断是否过期,以及根据什么策略来进行删除的。假设调用此方法的时候,发现redis中已经存在了key2,但是该key2已经过期了,如果此时不执行删除操作的话,setnx方法将会直接返回false,也就是说此时并没有重新设置key2-value2成功,所以对于一定要在setnx执行之前,对key2进行过期检查)。
  • 看完这篇彻底了解Nginx
    俄罗斯的工程师 Igor Sysoev,他在为 Rambler Media 工作期间,使用 C 语言开发了 Nginx。Nginx 作为 Web 服务器一直为 Rambler Media 提供出色而又稳定的服务。由于以下这几点,所以,Nginx 火了:Nginx 使用基于事件驱动架构,使得其可以支持数以百万级别的 TCP 连接。Nginx 可以作为一个 HTTP 服务器进行网站的发布处理,另外 Nginx 可以作为反向代理进行负载均衡的实现。这里提到的客户端发送的、Nginx 反向代理服务器接收到的请求数量,就是我们说的负载量。
  • Redis由浅入深深深深深剖析
    Redis 使用多路 I/O 复用模型,为非阻塞 IO。基于 React 设计模式监听 I/O 事件。Redis 的数据类型String最基本的数据类型,其值最大可存储 512M,二进制安全。List列表,按照 String 元素插入顺序排序。Redis 还对集合提供了求交集、并集、差集等操作,可以实现如同共同关注,共同好友等功能。更高级的 Redis类型用于计数的 HyperLogLog、用于支持存储地理位置信息的 Geo。假设 Redis 此时正在生产环境下,使用该命令就会造成隐患,另外如果一次性返回所有 Key,对内存的消耗在某些条件下也是巨大的。如何使用 Redis 实现分布式锁使用 SETNX 实现,SETNX key value:如果 Key 不存在,则创建并赋值。解决:从 Redis 2.6.12 版本开始,
  • Mysql主从同步的实现原理与配置实战
    在master机器上,主从同步事件会被写到特殊的log文件中;在slave机器上,slave读取主从同步事件,并根据读取的事件变化,在slave库上做相应的更改。当master 的 binlog发生变化的时候,binlog dump线程会通知slave,并将相应的binlog内容发送给slave。接下来给大家讲解mysql主从同步实战系统环境:系统的话大同小异,都差不多,我这里用的是ubuntu16.04+mysql5.7,用到两台服务器:其中master IP:192.168.33.22,另一个slave IP:192.168.33.33master机器上的操作1、更改配置文件我们找到文件/etc/mysql/mysql.conf.d/mysqld.cnf。sudosystemctlrestartmysql3、创建主从同步的mysql user。
  • Linux 下的这些高效指令,是你快速学习的神器
    Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux管理磁盘查看当前磁盘使用情况:df -h fdisk -l 服务器添加硬盘:在系统设置添加可以挂载到多个设备Vi命令所有的指令都是在指令行下输入的,不是在编辑模式下进行的!Linux简介及最常用命令PHP进阶学习之垃圾回收机制详解PHP7中I/O模型内核剖析详解Nginx为什么高效?
  • Session攻击手段(会话劫持/固定)及其安全防御措施
    由于PHP内置的Session管理机制并没有提供安全处理,所以,开发人员需要建立相应的安全机制来防范会话攻击。针对Session的攻击手段主要有会话劫持和会话固定两种。本文主要分析的是应用层面的攻击方式及其防御方法。如果Session ID保存在Cookie中,Cookie的暴露就是一个严重的风险,因为它能导致会话劫持。那么即使存在XSS漏洞也无法简单的利用其进行Session劫持攻击了。但有专家警告不要依赖于检查User-Agent的一致性。使用Cookie来存放SessionID,攻击者可以在以下三种可用的方法中选择一种来重置Session ID。
  • 在开发过程中,怎样的级别才算是高并发
    我们经常在面试的时候,被问到有没有高并发的经验?我思考的是什么才算是高并发?上面的定义明显不是我们通常所言的并发,在互联网时代,所讲的并发、高并发,通常是指并发访问。所以我得出一个自定义概念:如果某个系统的日pv在千万级别以上,他就可能是一个高并发的系统。这里一定要注意呃,QPS ≠ 并发数并发是指,某个时刻有多少个访问同时到来。QPS是指秒钟响应的请求数量。
个人资料

23673.COM免费开源社区是一家专注于PHP资源分享技术交流为主的PHP专业网站,每天向PHP开发者提供最新PHP资讯、学习资料、代码、原创PHP技术文章、技术手册、开源代码和PHP视频教程等内容。