本文首发于公众号:Hunter后端原文链接:celery笔记六之worker介绍 前面我们介绍过celery的理想的设计方式是几个worker处理特定的任务队列的数据,这样可以避免任务在队列中的积压。 这一篇笔记我们介绍一下如何使用worker提高系统中任务的处理效率。 worker启动 worker与队列 worker检测 其他worker命令 1、worker启动 前面介绍过worker的启动方式,在celery配置文件的上一级目录运行下面的命令: celery-Ahunterworker-lINFO 其中,-l表示日志等级,相当于是--loglevel=INFO celery-...

  pwciJmn0pWhj   2023年11月02日   66   0   0 Python

本文首发于公众号:Hunter后端原文链接:celery笔记七之周期/定时任务及crontab定义 periodictask,即为周期,或者定时任务,比如说每天晚上零点零分需要运行一遍某个函数,或者每隔半小时运行一遍该函数,都是这种任务的范畴。 在第一篇笔记的时候我们就介绍过celery的组件构成,其中有一个组件叫做beat,就是我们定时任务的调度器。 所有的定时任务都由beat发出,这种情况下,你必须确保在同一个时间点只有一个beat任务调度器在运行,假设有两个beat同时在运行,那么在检测定时任务的时候,系统的任务就可能会被重复发起、调用、执行。 beat_schedule定义 be...

  pwciJmn0pWhj   2023年11月02日   59   0   0 Python

本文首发于公众号:Hunter后端原文链接:celery笔记八之数据库操作定时任务 前面我们介绍定时任务是在celery.py中的app.conf.beat_schedule定义,这一篇笔记我们介绍一下如何在Django系统中的表里来操作这些任务。 依赖及migrate操作 beat的启动 表介绍 手动操作定时任务 1、依赖安装及migrate操作 我们先通过app.conf.beat_schedule定义定时任务: app.conf.beat_schedule={ 'add-every-60-seconds':{ 'task':'blog.tasks.add', 'schedule'...

  pwciJmn0pWhj   2023年11月02日   43   0   0 Python

本文首发于公众号:Hunter后端原文链接:celery笔记九之task运行结果查看 这一篇笔记介绍一下celery的task运行之后结果的查看。 前面我们使用的配置是这样的: settings.py CELERY_RESULT_BACKEND="redis://localhost/1" 是将task的运行结果保存在redis的第二个数据库(数据库索引从0开始)。 我们还可以将task的运行结果保存到Django的数据库,这一篇笔记将介绍如何查看redis和Django数据库中task运行的结果。 查看redis中的task结果 使用Django数据库保存task结果 1、查看re...

  pwciJmn0pWhj   2023年11月02日   22   0   0 Python

本文首发于公众号:Hunter后端原文链接:es笔记三之term,match,match_phrase等查询方法介绍 首先介绍一下在es里有两种存储字符串的字段类型,一个是keyword,一个是text。 keyword在存储数据的时候是作为一个整体存储的,不会对其进行分词处理 text存储数据的时候会对字符串进行分词处理,然后存储。 而对于查询方法,term是精确查询,match是模糊查询。 接下来我们用几个例子,来分别表达下这两种类型的字段,使用term,match,match_phrase等搜索的情况。 测试搜索keyword 测试搜索text match的其他用法 multi-m...

  pwciJmn0pWhj   2023年11月01日   57   0   0 其他数据库

本文首发于公众号:Hunter后端原文链接:es笔记四之中文分词插件安装与使用 前面我们介绍的操作及演示都是基于英语单词的分词,但我们大部分使用的肯定都是中文,所以如果需要使用分词的操作肯定也是需要使用中分分词。 这里我们介绍一下如何安装中文分词插件。 在介绍安装之前,我们可以先来测试一下没有中文分词的分词效果,我们先来插入一条数据: PUT/exam/_doc/16 { "name":"张三丰", "address":"一个苹果" } 如果是中文分词,我们可以想到'一个苹果'应该会被分为'一个'和'苹果'这两个词,但是默认的分词是无法这样分词的,我们可以尝试搜索一下: GET/exam...

  pwciJmn0pWhj   2023年11月01日   51   0   0 其他数据库

本文首发于公众号:Hunter后端原文链接:es笔记五之term-level的查询操作 官方文档上写的是term-levelqueries,表义为基于准确值的对文档的查询,可以理解为对keyword类型或者text类型分词为keyword的字段进行term形式的精确查找。 以下是本篇笔记目录: 是否存在值 前缀搜索 大小于操作 term查询 terms查询 wildcard查询 1、是否存在值 exists查询某个字段是否存在值。 还是使用上篇笔记讲的exam这个index,我们创建一条数据,只给定name的值,那么address的值就null,或者说查询返回的数据就没有这个字段了。 ...

  pwciJmn0pWhj   2023年11月01日   48   0   0 其他数据库

本文首发于公众号:Hunter后端原文链接:es笔记六之聚合操作之指标聚合 聚合操作,在es中的聚合可以分为大概四种聚合: bucketing(桶聚合) mertic(指标聚合) matrix(矩阵聚合) pipeline(管道聚合) bucket类似于分类分组,按照某个key将符合条件的数据都放到该类别的组中 mertic计算一组文档的相关值,比如最大,最小值 matrix根据多个key从文档中提取值生成矩阵,这个操作不支持脚本(script) pipeline将其他聚合的结果再次聚合输出 聚合是支持套娃(嵌套)操作的,你可以在聚合的结果上接着进行聚合操作,es是不限制聚合的深度的。...

  pwciJmn0pWhj   2023年11月01日   41   0   0 其他数据库

本文首发于公众号:Hunter后端原文链接:es笔记七之聚合操作之桶聚合和矩阵聚合 桶(bucket)聚合并不像指标(metric)聚合一样在字段上计算,而是会创建数据的桶,我们可以理解为分组,根据某个字段进行分组,将符合条件的数据分到同一个组里。 桶聚合可以有子聚合,意思就是在分组之后,可以在每个组里再次进行聚合操作,聚合的数据就是每个组的数据。 以下是本篇笔记目录: 基本桶聚合操作 过滤聚合 多桶过滤聚合 全局聚合 直方图聚合 嵌套聚合 范围聚合 稀有词聚合 矩阵聚合 1、基本桶聚合操作 我们可以简单的先来进行一下桶聚合的操作,比如我们根据age字段对数据进行分组操作: GET/b...

  pwciJmn0pWhj   2023年11月01日   43   0   0 其他数据库

本文首发于公众号:Hunter后端原文链接:es笔记一之es安装与介绍 首先介绍一下es,全名为Elasticsearch,它定义上不是一种数据库,是一种搜索引擎。 我们可以把海量数据都放到es里然后提供搜索操作,但是MySQL也同样可以提供搜索,为什么要用es呢? 一个是因为它搜索快,使用倒排索引的方式将数据分词之后存储数据,查询的时候直接根据搜索关键词找到相关数据。 另一个是因为它可以提供一些MySQL做不到或者比较耗时的模糊搜索,这个我们后续再介绍。 1、es和kibana的安装 es和kibana的安装这里可以直接看我之前的一篇博客文章,讲的很详细,或者去官网找相应的安装步骤。 e...

  pwciJmn0pWhj   2023年11月01日   325   0   0 其他数据库

本文首发于公众号:Hunter后端原文链接:es笔记二之基础查询 这一篇笔记介绍es的基础查询。 基础查询包括很多,比如排序,类似数据库limit的操作,like操作,与或非等,对于这些操作,我会在介绍他们的用法之后加上对应的数据库sql便于理解。 注意:下面的操作都在kibana中实现 以下是本篇文章目录: 全量查询 返回数据排序 限制返回条数 指定字段搜索 多条件查询 大小于过滤 1、全量查询 如果是想要查看es中都有哪些index,可以如下操作: GET/_cat/indices 然后可以看到在右侧会输出所有的index,其中就包含我们上一篇笔记导入的bank数据,接下来我们使...

  pwciJmn0pWhj   2023年11月01日   50   0   0 其他数据库

本文首发于公众号:Hunter后端原文链接:es笔记三之term,match,match_phrase等查询方法介绍 首先介绍一下在es里有两种存储字符串的字段类型,一个是keyword,一个是text。 keyword在存储数据的时候是作为一个整体存储的,不会对其进行分词处理 text存储数据的时候会对字符串进行分词处理,然后存储。 而对于查询方法,term是精确查询,match是模糊查询。 接下来我们用几个例子,来分别表达下这两种类型的字段,使用term,match,match_phrase等搜索的情况。 测试搜索keyword 测试搜索text match的其他用法 multi-m...

  pwciJmn0pWhj   2023年11月01日   98   0   0 其他数据库

本文首发于公众号:Hunter后端原文链接:es笔记四之中文分词插件安装与使用 前面我们介绍的操作及演示都是基于英语单词的分词,但我们大部分使用的肯定都是中文,所以如果需要使用分词的操作肯定也是需要使用中分分词。 这里我们介绍一下如何安装中文分词插件。 在介绍安装之前,我们可以先来测试一下没有中文分词的分词效果,我们先来插入一条数据: PUT/exam/_doc/16 { "name":"张三丰", "address":"一个苹果" } 如果是中文分词,我们可以想到'一个苹果'应该会被分为'一个'和'苹果'这两个词,但是默认的分词是无法这样分词的,我们可以尝试搜索一下: GET/exam...

  pwciJmn0pWhj   2023年11月01日   48   0   0 其他数据库

本文首发于公众号:Hunter后端原文链接:es笔记一之es安装与介绍 首先介绍一下es,全名为Elasticsearch,它定义上不是一种数据库,是一种搜索引擎。 我们可以把海量数据都放到es里然后提供搜索操作,但是MySQL也同样可以提供搜索,为什么要用es呢? 一个是因为它搜索快,使用倒排索引的方式将数据分词之后存储数据,查询的时候直接根据搜索关键词找到相关数据。 另一个是因为它可以提供一些MySQL做不到或者比较耗时的模糊搜索,这个我们后续再介绍。 1、es和kibana的安装 es和kibana的安装这里可以直接看我之前的一篇博客文章,讲的很详细,或者去官网找相应的安装步骤。 e...

  pwciJmn0pWhj   2023年11月01日   308   0   0 大数据

本文首发于公众号:Hunter后端原文链接:es笔记二之基础查询 这一篇笔记介绍es的基础查询。 基础查询包括很多,比如排序,类似数据库limit的操作,like操作,与或非等,对于这些操作,我会在介绍他们的用法之后加上对应的数据库sql便于理解。 注意:下面的操作都在kibana中实现 以下是本篇文章目录: 全量查询 返回数据排序 限制返回条数 指定字段搜索 多条件查询 大小于过滤 1、全量查询 如果是想要查看es中都有哪些index,可以如下操作: GET/_cat/indices 然后可以看到在右侧会输出所有的index,其中就包含我们上一篇笔记导入的bank数据,接下来我们使...

  pwciJmn0pWhj   2023年11月01日   369   0   0 大数据

本文首发于公众号:Hunter后端原文链:Redis基础命令汇总,看这篇就够了 本篇笔记将汇总Redis基础命令,包括几个常用的通用命令,和各个类型的数据的操作,包括字符串、哈希、列表、集合、有序集合等在内的基本操作。 以下是本篇笔记目录: 通用命令 字符串命令 哈希命令 列表命令 集合命令 有序集合命令 1、通用命令 keys 返回所有key,可以使用通配符来查询。 查看所有key keys 查看以hel开头的key keyshel 查看ph+一个字符 keysph? 注意:一般不要使用keys这个操作,Redis是单线程,执行之后如果耗时过久会造成阻塞。 dbsize 统计当...

  pwciJmn0pWhj   2023年11月01日   83   0   0 NoSQL

本文首发于公众号:Hunter后端原文链接:Redis数据结构一之对象的介绍及各版本对应实现 本篇笔记开始介绍Redis数据结构的底层实现。 当我们被问到Redis中有什么数据结构,或者说数据类型,我们可能会说有字符串、列表、哈希、集合、有序集合。 其实这几种数据类型在Redis中都由对象构成,而且是两个对象,一个键对象,一个值对象。 在这些数据类型中,它们的键都是字符串对象,而值可以是前面说的字符串对象、列表对象、哈希对象、集合对象、有序集合对象中的一种,这个取决于键值对的数据类型。 而在Redis中,这些对象都有其更底层的实现方式,也就是说这一篇笔记我们要介绍的,更底层的数据结构,而且...

  pwciJmn0pWhj   2023年11月01日   54   0   0 NoSQL

本文首发于公众号:Hunter后端原文链接:Redis数据结构二之SDS和双向链表 这一篇笔记介绍一下SDS(simpledynamicstring)和双向链表。 以下是本篇笔记目录: SDS 常数复杂度获取字符串长度 杜绝缓冲区溢出 减少修改字符串带来的内存重分配次数 二进制安全 兼容C字符串函数 双向链表 1、SDS SDS,simpledynamicstring,即简单动态字符串 SDS在Redis2.9版本中数据结构如下: structsdshdr{ intlen; intfree; charbuf[]; }; 在这个结构中,len表示buf数组中已使用字节的数量,fre...

  pwciJmn0pWhj   2023年11月01日   97   0   0 NoSQL

本文首发于公众号:Hunter后端原文链接:Redis数据结构三之压缩列表 本篇笔记介绍压缩列表。 在Redis3.2版本之前,压缩列表是列表对象、哈希对象、有序集合对象的的底层实现之一。 因为压缩列表本身结构上的一些缺陷,压缩列表这个结构被替换了,但是压缩列表结构本身有一些可取之处,并且替换它的新结构listpack与之很相似,所以我们这里还是介绍一下压缩列表的结构和存储 1、压缩列表的结构 压缩列表是Redis为了节约内存而开发的,由一个连续内存块组成的顺序型数据结构。 它的组成结构如下: |zlbytes|zltail|zllen|entry1|entry2|...|entryN|z...

  pwciJmn0pWhj   2023年11月01日   76   0   0 NoSQL
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~