摘要: python是动态语言,而反射(reflection)机制被视为动态语言的关键。 反射机制指的是在程序的运行状态中 对于任意一个类,都可以知道这个类的所有属性和方法; 对于任意一个对象,都能够调用他的任意方法和属性。 这种动态获取程序信息以及动态调用对象的功能称为反射机制。 在python中实现反射 阅读全文
posted @ 2021-06-15 21:35 Palpitate~ 阅读(61) 评论(0) 推荐(0) 编辑
摘要: 一、Python中RPC框架 自带的:SimpleXMLRPCServer(数据包大,速度慢) 第三方:ZeroRPC(底层使用ZeroMQ和MessagePack,速度快,响应时间短,并发高),grpc(谷歌推出支持夸语言) 二、SimpleSMLRPCServer使用 服务端 from xmlr 阅读全文
posted @ 2021-06-15 21:00 Palpitate~ 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 1、消息队列 1 两个服务调用:restful(http协议),rpc(远程过程调用) 2 rpc:远程过程调用 -gRPC:谷歌出的,跨语言 3 不管用rpc或者restful来通信,涉及到同步,异步 4 消息队列解决的问题 -应用解耦 -流量消峰 -消息分发(发布订阅:观察者模式) -异步消息( 阅读全文
posted @ 2021-06-15 20:57 Palpitate~ 阅读(64) 评论(0) 推荐(0) 编辑
摘要: # 0 主从搭建好了 # models.py from django.db import models class Book(models.Model): name = models.CharField(max_length=32) price = models.DecimalField(max_l 阅读全文
posted @ 2021-06-15 20:51 Palpitate~ 阅读(57) 评论(0) 推荐(0) 编辑
摘要: # 1 主从同步的流程或原理 1)master会将变动记录到二进制日志里面; 2)master有一个I/O线程将二进制日志发送到slave; 3) slave有一个I/O线程把master发送的二进制写入到relay日志里面; 4)slave有一个SQL线程,按照relay日志处理slave的数据; 阅读全文
posted @ 2021-06-15 20:50 Palpitate~ 阅读(57) 评论(0) 推荐(0) 编辑
摘要: # 1 双写一致性,redis和mysql数据同步,方案 https://www.cnblogs.com/liuqingzheng/p/11080680.html 1 先更新数据库,再更新缓存(一般不用) 2 先删缓存,再更新数据库(在存数据的时候,请求来了,缓存不是最新的) 3 先更新数据库,再删 阅读全文
posted @ 2021-06-15 20:48 Palpitate~ 阅读(64) 评论(0) 推荐(0) 编辑
摘要: # 让redis的主从复制高可用 1 搭一个一主两从 #创建三个配置文件: #第一个是主配置文件 daemonize yes pidfile /var/run/redis.pid port 6379 dir "/opt/soft/redis/data" logfile “6379.log” #第二个 阅读全文
posted @ 2021-06-15 20:46 Palpitate~ 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 原理 1. 副本库通过slaveof 127.0.0.1 6379命令,连接主库,并发送SYNC给主库 2. 主库收到SYNC,会立即触发BGSAVE,后台保存RDB,发送给副本库 3. 副本库接收后会应用RDB快照 4. 主库会陆续将中间产生的新的操作,保存并发送给副本库 5. 到此,我们主复制集 阅读全文
posted @ 2021-06-15 20:43 Palpitate~ 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 一、redis持久化 # 快照:某时某刻数据的一个完成备份, -mysql的Dump -redis的RDB # 写日志:任何操作记录日志,要恢复数据,只要把日志重新走一遍即可 -mysql的 Binlog -Redis的 AOF 1.1RDB # 触发机制-主要三种方式 -save:客户端执行sav 阅读全文
posted @ 2021-06-15 20:42 Palpitate~ 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 通用命令 ####1-keys #打印出所有key keys * #打印出所有以he开头的key keys he* #打印出所有以he开头,第三个字母是h到l的范围 keys he[h-l] #三位长度,以he开头,?表示任意一位 keys he? #keys命令一般不在生产环境中使用,生产环境ke 阅读全文
posted @ 2021-06-15 20:35 Palpitate~ 阅读(120) 评论(0) 推荐(0) 编辑
摘要: #下载 wget http://download.redis.io/releases/redis-5.0.7.tar.gz #解压 tar -xzf redis-5.0.7.tar.gz #建立软连接 ln -s redis-5.0.7 redis cd redis make&&make insta 阅读全文
posted @ 2021-06-15 20:33 Palpitate~ 阅读(38) 评论(0) 推荐(0) 编辑
摘要: # 1 广播方式(一般不用) -只要es节点能联通,ping,自动加人到节点中 # 2 单播方式 #1 elasticsearch1节点,,集群名称是my_es1,集群端口是9300;节点名称是node1,监听本地9200端口,可以有权限成为主节点和读写磁盘(不写就是默认的)。 cluster.na 阅读全文
posted @ 2021-06-15 19:53 Palpitate~ 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 1、原生集成 # https://github.com/elastic/elasticsearch-py # https://github.com/elastic/elasticsearch-dsl-py # Official low-level client for Elasticsearch # 阅读全文
posted @ 2021-06-15 19:51 Palpitate~ 阅读(219) 评论(0) 推荐(0) 编辑
摘要: #1 github下载相应版本 https://github.com/medcl/elasticsearch-analysis-ik/releases?after=v7.5.2 # 2 解压到es的plugin目录下 # 3 重启es # ik_max_word 和 ik_smart 什么区别? i 阅读全文
posted @ 2021-06-15 19:50 Palpitate~ 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 1 match和term查询 # 并且和或者的条件 #并且 GET t3/doc/_search { "query": { "bool": { "must": [ { "match": { "title": "beautiful" } }, { "match": { "desc": "beautif 阅读全文
posted @ 2021-06-15 19:48 Palpitate~ 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 一 新增文档 #新增一个id为1的书籍(POST和PUT都可以) POST lqz/_doc/1/_create #POST lqz/_doc/1 #POST lqz/_doc 会自动创建id,必须用Post { "title":"红楼梦", "price":12, "publish_addr":{ 阅读全文
posted @ 2021-06-15 19:45 Palpitate~ 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 在Elasticsearch 6.0.0或更高版本中创建的索引只包含一个mapping type。 在5.x中使用multiple mapping types创建的索引将继续像以前一样在Elasticsearch 6.x中运行。 Mapping types将在Elasticsearch 7.0.0中 阅读全文
posted @ 2021-06-15 19:41 Palpitate~ 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 具体操作可以查看官方文档 https://www.elastic.co/guide/en/elasticsearch/reference/7.5/indices.html> 官方2版本的中文文档 <https://www.elastic.co/guide/cn/elasticsearch/guide 阅读全文
posted @ 2021-06-15 19:36 Palpitate~ 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 一 倒排索引是什么 倒排索引源于实际应用中需要根据属性的值来查找记录,这种索引表中的每一个项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而成为倒排索引。带有倒排索引的文件我们称之为倒排索引文件,简称倒排文件 二 举例 例如有如下三个文件: 阅读全文
posted @ 2021-06-15 19:34 Palpitate~ 阅读(58) 评论(0) 推荐(0) 编辑
摘要: # 三种安装方式 # 推荐用第三种 **第一种:命令行** bin/elasticsearch-plugin install [plugin_name] # bin/elasticsearch-plugin install analysis-smartcn 安装中文分词器 **第二种:url安装** 阅读全文
posted @ 2021-06-15 19:32 Palpitate~ 阅读(89) 评论(0) 推荐(0) 编辑