技术饭 PHP中ElasticSearch的简单使用

Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。充分利用Elasticsearch的水平伸缩性,能使数据在生产环境变得更有价值。Elasticsearch 的实现原理主要分为以下几个步骤,首先用户将数据提交到Elasticsearch 数据库中,再通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据,当用户搜索数据时候,再根据权重将结果排名,打分,再将返回结果呈现给用户。

阅读全文 » 792天前
2022年03月03日

技术饭 php使用array_slice()函数进行数组分页

今天用到一个函数,非常好用,分享给大家,array_slice() -从数组中取出一段也就是说用这个函数可以和sql语句一样实现分页,原理是将查询出的数组,取出从指定下标开始到指定长度的数组,我们的数据未必都是存储在数据库中,很多时候是用数组来组织的。所以获取数组数据,进行分页是比较常见的编程要求,array_slice(原数组,开始下标,要取几条),这里用到三个参数(如果不写第三个参数 返回直到数组末端的所有元素)

阅读全文 » 1482天前
2020年04月13日

技术饭 Linux crontab 实现秒级定时任务

Linux crontab 实现秒级定时任务,1、crontab 的延时: 原理:通过延时方法 sleep N 来实现每N秒执行。60必须能整除间隔的秒数(没有余数),例如间隔的秒数是2,4,6,10,12等。如果间隔的秒数太少,例如2秒执行一次,这样就需要在crontab 加入60/2=30条语句。

阅读全文 » 1716天前
2019年08月22日

技术饭 MySQL 8.0主从(Master-Slave)配置

MySQL 主从复制的方式有多种,本文主要演示基于基于日志(binlog)的主从复制方式。MySQL 主从复制(也称 A/B 复制) 的原理:Master将数据改变记录到二进制日志(binary log)中,也就是配置文件log-bin指定的文件, 这些记录叫做二进制日志事件(binary log events);Slave 通过 I/O 线程读取 Master 中的 binary log events 并写入到它的中继日志(relay log);Slave 重做中继日志中的事件, 把中继日志中的事件信息一条一条的在本地执行一次,完成数据在本地的存储, 从而实现将改变反映到它自己的数据(数据重放)。

阅读全文 » 2037天前
2018年10月05日

技术饭 app支付接口、wap支付接口实现原理解析(支付宝、微信、连连支付、银联支付)

最近因为公司项目要做支付功能,所以就一直在研究支付接口包括(支付宝、微信、连连支付、银联支付),由于支付接口为了安全性有各种验证,所以看起来比较繁琐,但是认真剖析一下也只有:1、下订单;2、发送数据给第三方支付接口;3、同步回调与异步回调处理数据。

阅读全文 » 2557天前
2017年05月04日

技术饭 为什么要用mysql索引优化数据库

为什么要用mysql索引优化数据库,索引是为了优化查询,减少查询的次数,索引的原理是平行二叉树原理;应该在读取数据量多的时候建立索引,索引一般分为nomarl普通索引、unique唯一索引、full text全文索引;索引的方法有:btree与hash,不过hash不能使用order by排序与like模糊查询。

阅读全文 » 2676天前
2017年01月04日