索引管理(二)增删改操作 今天我们来学习真正的,最核心的索引管理相关的操作。但其实今天的内容还更简单一些,为啥呢?因为索引管理中,最核心的就是对于数据的增、删、改呀。其实要往大了说,查询也是针对索引的操作,只不过相对来说,搜索引擎引用往往是读多写少,而且相比数据库来说,它的写还要少一些。 因此,XS在SDK组件中,将索引对象和查询对象分开了。同样地,后端服务,也是通过8383和8384两个端口区分开了索引操作和查询操作。不过这也带来了一个问题,那就是索引的增、删、改操作是异步的,在查询的反馈上并不是完全及时的。 说了这些,其实就是要弄清楚我们的业务场景了。对于需要使用XS的系统来说,主要是文...

  ZeXpBSKPLk5O   2023年12月22日   16   0   0 XSphpPHP数据数据XS

XS索引管理(一)切换索引库与文档对象 不管任何搜索引擎,最核心的部分,往往都只有两个,一是建立索引,二是搜索数据。不过对于中文这种复杂的语言体系,分词也是另一块核心内容。从今天开始,我们就先来学习第一块的内容,就是对于索引的操作。 之前的文章中,我们已经学习过在XS中如何通过配置文件来配置索引项目。但这只是索引操作的第一步,因为我们还需要对配置好的索引项目插入数据,随之而来的还有修改、删除之类的操作。这些都是通过PHPSDK来动态操作的。不过今天的文章还不是直接学习操作数据,我们先来看看两个非常重要的部分,一是索引的物理存储相关的内容,另一个则是索引中存储的数据文档对象的了解。 再谈索引 ...

基础对象概览(二)服务器与命令对象及数据传输原理 在学习完最基础的XS对象和一些字段对象之后,我们今天将学习到的是XS的PHPSDK中非常核心的一个对象,那就是XSServer对象。从名字就可以看出,它是负责和服务端交互的,也就是PHP与Xapian的交互部分。要说搜索索引,最核心的应该是在索引和搜索的操作上,这两部分也是我们后面要重点关注的部分。但是,如果没有XSServer的支持,则一切都无法实现。幸好,这一部分的内容不多,也并不复杂,咱们就好好来看一下。 XSServer服务器对象 XSServer是XSIndex和XSSearch的父类,主要保存的是服务器的一些信息以及和服务器的交互...

安装运行并测试XunSearch 这回的新系列,我们将学习到的是一个搜索引擎迅搜XunSearch的使用。这个搜索引擎在PHP圈可能还是有一点名气的,而且也是一直在更新的,虽说现在ElasticSearch已经是实际上的搜索引擎霸主了,而且还有Solr在后的不断追赶,但要说最简单、最实在,而且最容易让我们这些PHPer上手的,绝对还是XunSearch。 在我的学习过程中,发现很多人其实对搜索引擎工具的认识不足,而且也会有很多同学在吐槽XunSearch官方文档不好。这些呀,其实根本都还是在于概念定位的不清晰。因此,除了基本的XunSearch的学习,我们还会顺便略讲一点点搜索引擎的相关知识...

Nginx学习:动静分离与日志分割 放轻松放轻松,最后两篇文章学习的内容是比较轻松的。首先,我们来看看Nginx动静分离的概念,然后再看看怎么为Nginx做日志分割。内容都很简单,完全不需要有任何的压力。 动静分离 动静分离,听着高大上吧,而且也是面试中比较喜欢问的问题。简单来说,就是动态请求走后端的动态程序,静态资源,比如说图片、CSS、JS、文件以及普通的静态html,走静态资源就可以了。就像下面这张图一样。 大部分PHPer可能就疑惑了,咱们PHP在Nginx中的配置不就这样的嘛。 server{ listen80; server_namelocalhost; location/{...

Nginx学习:upstream服务器组模块 最后一个重点模块内容啦,感谢坚持到现在的你和我。总算是向大佬的道路上又前进了一步了。今天的内容主要是服务器组的配置,其实更直白点,就是Nginx负载均衡的配置模块。会不会有小伙伴不明白负载均衡是啥?如果是新同学,还不明白的话,要自己查查资料补习一下了哦。 Nginx的HTTP代理是七层代理,对应的,它的负载均衡也是做的七层负载。现在我们也可以使用后面要学习的Stream模块做四层负载,不过这个嘛,日常开发用不到,要用到的话,其实还有更好的解决方案,毕竟Nginx的四层负载还是比较新的,而且它的主营业务也不在四层上。 服务器组模块的全名是ngx_h...

Nginx学习:SSL模块(二)错误状态码、变量及宝塔配置分析 继续我们的SSL模块的学习。上回其实我们已经搭建起了一个HTTPS服务器了,只用了三个配置,其中一个是listen的参数,另外两个是指定密钥文件的地址,一个是crt文件,一个是key文件。今天我们将学习到的是SSL中的错误状态码、变量相关的内容,以及最后会看一下在宝塔中配置SSL之后,它生成的配置指令是什么样的。 今天的内容不多,但最后的宝塔配置分析还是值得一看的。毕竟要解决的就是大家知其然,也要知其所以然的问题。而先前的我,正是不知其所以然。因此,很多时候,用工具可以配,但是配了之后不敢动,生怕出现什么问题。因为配出来的内容完...

Nginx学习:FastCGI模块(二)缓存配置 通过上篇文章的学习,普通的PHP与Nginx的连接就已经没啥大问题了。一般的网站直接那套配置就够了,这也是Nginx非常友好的一面。很多在默认的配置文件中注释掉的内容,只要打开就是可以直接使用的。不过,FastCGI可不是一个小模块,还有很多的配置指令,要想深入,要想调优,这些指令还是多少要了解一下的。 今天学习的内容基本上也都是可以设置在http、server、location中的,有特殊情况的我会单独说。 FastCGI缓存配置 是的,你没看错,FastCGI也有缓存系统,但它走的是文件缓存。通过之前的学习,我们知道Nginx对静态文件的...

Nginx学习:SSI静态文件服务器端包含模块 这个模块让我想到了2009年刚刚工作的时候。最早我是做.NET的,而第一家公司其实是从ASP向ASP.NET转型中,因此,还是有不少的ASP做的页面。在那个时候,就用到了SSI。 这么一说,大家估计也猜到了,这个功能其实是很早的技术了。现在的年轻大佬们可能很多都不知道这个功能。它可以让静态文件,也就是HTML文件实现一些简单的文件包含、定义变量、条件判断之类的功能。 这个模块的名称是ngx_http_ssi_module模块,它是一个过滤器,用于处理通过它的响应中的SSI(服务器端包含)命令。目前,支持的SSI命令列表不完整。 SSI模块的指令...

Nginx学习:运行信息、响应修改及用户标识模块 今天的内容主要是讲三个模块,这三个模块分别可以查看当前Nginx的运行状态信息,可以修改返回响应的内容,以及最后一个可以通过Nginx生成一个对应客户端的唯一UID。这几个功能平时用过的同学可能不多,但是也都非常有意思,有兴趣的小伙伴可以尝试尝试哦。 除了第一个运行信息的配置外,其它配置指令都可以在http、server、location下进行配置。 Nginx运行信息 就像Redis中的info命令一样,Nginx直接提供了一个配置指令,可以直接返回当前Nginx服务器的一些状态信息。它的名称是ngx_http_stub_status_mo...

Nginx学习:FastCGI模块(一)基础配置 万众瞩目啊,总算到FastCGI了。看我文章和视频的各位大佬们8成以上都是PHPer吧,要做PHP,FastCGI的配置就少不了。CGI、FastCGI、PHP-FPM这些概念,咱们在很早之前的 了解PHP-FPMhttps://mp.weixin.qq.com/s/NUpDnfYfbPuWmal4Am3lsg 这篇文章中就学习过了。不记得的小伙伴可以回去看下哦,如果感觉说得太简单了,大家还可以去自己搜索一下相关的资料。 FastCGI模块的全称是ngx_http_fastcgi_module,包含在核心源码中,不需要单独...

  ZeXpBSKPLk5O   2023年11月02日   43   0   0 nginx运维php学习运维PHP学习nginx

Nginx学习:重写更改请求模块 今天的内容又是在Nginx的学习中非常重要的一块。可以说,只要你是做PHP开发的,那么肯定会接触过今天的内容。为什么这么说呢?因为你只要用了PHP框架,不管是TP还是Laravel,都会需要今天学习到的内容来进行相应的配置,实现去除index.php之类的功能。另外,包含在这个模块中的return、set、if也是我们之前都已经接触过的,特别是retrun,几乎每篇文章都用到了。 整个重写模块的命名是ngx_http_rewrite_module模块,它用于通过PCRE正则表达式更改请求URI、返回重定向和有条件地选择配置的功能。 今天的内容大部分可以在se...

Nginx学习:代理模块(五)变量与其它配置 Nginx在不同的模块中,会提供一些变量,这个我们之前应该已经看过很多了。特别是HTTP核心模块中,提供了非常多的变量可以供我们使用。而在Proxy模块中,也提供了几个非常简单的变量,今天就来一起学学。另外,最后还剩一些无法归到大类的其它配置,大家也可以了解一下,其中还是有重点配置的哦,而且是非常常用的,今天的内容绝对不水。 今天的配置指令基本上都可以在http、server、location中配置,有特殊情况的我会单独说。 Proxy变量 在代理模块中,提供了三个变量。 $proxy_hostproxy_pass指令中指定的代理服务器的名称和...

Nginx学习:随机索引、真实IP处理与来源处理模块 完成了代理这个大模块的学习,我们继续其它Nginx中HTTP相关的模块学习。今天的内容都比较简单,不过最后的来源处理非常有用,可以帮我们解决外链问题。另外两个其实大家了解一下就好。 今天的内容,除了第一个随机索引的配置指令只能在location下使用外,其它的都可以在http、server、location中配置。 随机索引 之前学习过的index指令还记得吧,它是指定某一个具体的文件,然后按顺序从前向后匹配。当我们访问一个目录时,也就是URI以/结尾时,会按照这个index配置的内容去查找文件。而今天,我们要学习的则是另一个类似的指令,...

学习PHP中的高精度计时器HRTime扩展 不知道大家还记得在学校的时候体育测试时老师带的秒表吗?当枪声想起时,我们开始跑步,这时秒表启动,当我们跑过终点后,老师会按下按扭记录我们的成绩,这就是一个典型的定时器的应用。今天我们要学习的内容其实就是和这个体育测验的秒表类似的一个功能扩展,它就是PHP的HRTime扩展。 时钟节拍 首先我们要了解一下什么叫做系统的时钟节拍。当Linux系统启动之后,会同时启动一个时钟节拍器,以纳秒为单位进行计时,而我们的HRTime扩展的真实名称是高精度时间扩展。也就是说,它正是基于操作系统的时钟节拍器,能够以纳秒为单位进行计时。 1秒=1000毫秒=10000...

  ZeXpBSKPLk5O   2023年11月02日   50   0   0 Java编程语言pythonPHPlinux

PHP方法参数的那点事儿 在所有的编程语言中,方法或者函数,都可以传递一些参数进来进行业务逻辑的处理或者计算。这没什么可说的,但是在PHP中,方法的参数还有许多非常有意思的能力,下面我们就来说说这方面的内容。 引用参数 涉及到值传递和引用传递的问题。在正常情况下,我们使用值传递的时候,变量是进行了拷贝,方法内外的变量不会共享内存。也就是说,在方法体中修改了变量的值,方法外部的变量不会产生变化。而引用传递则是传递的变量的内存地值。方法内外的变量可以看做是同一个变量,比如: $a=1;functiontest(&$arg){$arg;}test($a);echo$a;//2 ...

  ZeXpBSKPLk5O   2023年11月02日   54   0   0 操作符默认值PHP

Nginx学习:代理模块(四)响应头与SSL 响应头相关的配置也和我们之前在FastCGI系列学过的响应头配置是类似的,这一块也比较简单。而另一部分则是Proxy模块另一个特有的功能,SSL相关的配置。不过这一块吧,一是配置比较麻烦,二是平常使用到的也比较少,所以我也是以学习了解的状态来进行的,偷个懒,不会进行相应的配置测试。有兴趣的小伙伴可以自己配一配哦。 今天所有的配置都可以在http、server、location下进行配置,有特殊情况的我会单独说。 Proxy响应头操作 响应头主要针对的是响应的操作,其实也就是对于后端服务返回的响应头,我们可以进行一些显示、隐藏、忽略之类的操作。这个...

  ZeXpBSKPLk5O   2023年11月02日   31   0   0 学习SSLMySQL数据库nginx

Nginx学习:代理模块(二)缓存与错误处理 在基本的配置学习之后,其实大部分的业务场景就已经够用了,没错,就那一个proxy_pass指令,真的就够了。但是,对于许多更复杂的业务场景来说,Nginx的代理模块还是提供了更多的功能,做为每个想成为架构师的码农来说,这一部分不说多精通,至少也都得有些了解。今天学习的代理模块缓存与错误处理和FastCGI模块非常类似,很多内容我们照搬之前的测试方式就可以了。 今天的配置指令大部分都是可以在http、server、location下配置的,仅有proxy_cache_path是只能在http模块下配置的,我们马上就会看到。 Proxy缓存 代理的缓...

  ZeXpBSKPLk5O   2023年11月02日   64   0   0 服务器学习nginx运维缓存

Nginx学习:连接限制和请求限制 之前我们就已经学习过了一些和流量限制相关的配置指令,它们是HTTP核心配置中的内容 ,不记得的小伙伴可以回去看一下 Nginx学习:HTTP核心模块(七)请求体与请求限流https://mp.weixin.qq.com/s/YniglCFW9ZffhI_Zd9j8Yg 。 当时就说过,那一套限制是针对流量的限制,主要就是为了带宽不被占满,或者是实现类似下载限速的能力。而对于请求数量以及连接数量的限制,就放到了今天的内容来学习。在官方文档中,这两个模块是独立模块,但是它们却又是包含在Nginx核心源码中的,因此,不需要独立再去编译安装。 ...

  ZeXpBSKPLk5O   2023年11月02日   33   0   0 学习HTTPnginx运维

Nginx学习:WebDav文件存储与图片媒体处理模块 今天的内容怎么说呢?有两个感觉非常有意思,另外一些就差点意思。有意思的是,咱们可以直接用Nginx的Webdav功能搭建一个网盘,另外也可以实现动态的图片处理。这两个功能吧,有其局限性,但也非常方便。另外的流媒体部分的内容,主要FLV和MP4这两种视频媒体格式的处理,说实话,没啥实际的内容,了解一下就好了。 WebDav 关于WebDav是干嘛的,大家可以自己去百度一下。没学之前我也不知道这是个什么东西,我们学习,其实往往都是通过某一个点而延伸到其它方面的。比如说学习Nginx,一直强调的就是要有网络的基础。然后基于网络能干什么事呢?那...

  ZeXpBSKPLk5O   2023年11月02日   83   0   0 学习媒体nginx运维
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~