技术饭 PHP的MongoDB\Driver\Manager实现对mongodb的操作

MongoDB是开发人员数据平台,提供必要的服务和工具,以快速、高性能和大规模地构建用户需求的分布式应用程序。MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

阅读全文 » 330天前
2023年06月01日

技术饭 PHP搜索引擎MeiliSearch实现全文检索

PHP搜索引擎MeiliSearch实现全文检索,Meilisearch 搜索引擎使用 Rust 语言开发,轻量,对中文搜索非常友好,几乎做到了零配置,零学习成本,部署即用,非常方便。建立在 LMDB 键值存储之上,安装在 Ubuntu 或 MacOS 上时,它以 35 MB 的二进制文件形式存在。 MeiliSearch 带有内置的客户端、服务器和 WebUI。 词干提取、停用词、同义词、排名、过滤器和分面等功能都是开箱即用的,使用合理的默认值并且可以轻松定制。

阅读全文 » 330天前
2023年06月01日

技术饭 PHP中ElasticSearch的简单使用

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

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

技术饭 layer.prompt输入框改成laydate时间控件

layer.prompt输入框改成laydate时间控件,layui官方文档的解释:prompt的参数也是向前补齐的。options不仅可支持传入基础参数,还可以传入prompt专用的属性。当然,也可以不传。yes携带value 表单值index 索引elem 表单元素,输入框类型,支持0(文本)默认1(密码)2(多行文本),没有直接输入dom内容的方式。但是网上找到一个是formType:3的类型,测试可以。

阅读全文 » 951天前
2021年09月18日

技术饭 MySQL主键和外键使用及说明

MySQL通过外键约束来保证表与表之间的数据的完整性和准确性。外键的使用条件:1.两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的版本有可能支持,但至少目前不支持);2.外键列必须建立了索引,MySQL 4.1.2以后的版本在建立外键时会自动创建索引,但如果在较早的版本则需要显示建立; 3.外键关系的两个表的列必须是数据类型相似,也就是可以相互转换类型的列,比如int和tinyint可以,而int和char则不可以;外键的好处:可以使得两张表关联,保证数据的一致性和实现一些级联操作。

阅读全文 » 2032天前
2018年10月03日

技术饭 EXPLAIN分析sql时,如何优化Using temporary ; Using filesort

EXPLAIN分析sql时,如何优化Using temporary ; Using filesort,1. 对需要查询和排序的字段要加索引。​2. 在一定环境下,left join还是比普通连接查询效率要高,但是要尽量少地连接表,并且在做连接查询时注意观察索引是否起了作用。3. 排序尽量对第一个表的索引字段进行,可以避免mysql创建临时表,这是非常耗资源的。

阅读全文 » 2418天前
2017年09月12日

技术饭 mysql性能分析及explain的用法

mysql性能分析及explain的用法,本文我们主要介绍了MySQL性能分析以及explain的使用,包括:组合索引、慢查询分析、MYISAM和INNODB的锁定、MYSQL的事务配置项等,用来分析mysql语句的查询性能方面还是有很大的帮助的。

阅读全文 » 2418天前
2017年09月12日

技术饭 php操作redis常用方法代码示例

php操作redis常用方法代码示例,phpredis是php的一个扩展,效率是相当高有链表排序功能,对创建内存级的模块业务关系,Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)。

阅读全文 » 2541天前
2017年05月12日

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

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

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