web开发技术
__IProgrammer
这个作者很懒,什么都没留下…
展开
-
elasticsearch通过动态模板实现年度对象字段定义
{ "settings": { "index.refresh_interval": "1s", "index.number_of_replicas": "1", "index.number_of_shards": "2" }, "mappings": { "btc_balance_test": { "dynamic_templates": [ {原创 2021-02-22 15:21:36 · 841 阅读 · 0 评论 -
7.elasticsearch一些原理
如何决定文档被存储在哪个分片?shard = hash(routing) % number_of_primary_shardsrouting是一个可变值,默认是文档的_id,也可以设置成一个自定义的值。routing通过 hash 函数生成一个数字,然后这个数字再除以number_of_primary_shards(主分片的数量)后得到余数。这个分布在0到numb...转载 2020-11-27 14:13:07 · 899 阅读 · 0 评论 -
Elasticsearch问题
Elasticsearch 如何知道一个文档应该存放到哪个分片中呢?首先这肯定不会是随机的,否则将来要获取文档的时候我们就不知道从何处寻找了。实际上,这个过程是根据下面这个公式决定的:shard = hash(routing) % number_of_primary_shardsrouting 是一个可变值,默认是文档的 _id ,也可以设置成一个自定义的值。 routing 通过 ha...原创 2020-11-27 14:12:52 · 689 阅读 · 0 评论 -
记录一次使用docker-compose部署django前后端分离项目
使用django写了一个前后端分离的个人博客,正好赶上之前买的阿里云的服务器到期,又重新装了一次环境,总之很麻烦,正好最近在学docker,试一下用docker部署。个人感觉使用docker部署的好处就在于一次性部署,随处可用,在windows下生成的镜像也可以迁移到Linux。项目简介博客使用了django-rest-framework框架进行后端程序编写,缓存用到了redis,数据存储...原创 2019-11-14 15:18:42 · 2140 阅读 · 3 评论 -
django笔记-模板的使用以及is_safe详解
Django 似乎是一个 MVC 框架,但是您将控制器称为“视图”,并视图称为“模板”。 为什么不使用标准命名?¶当然,标准化的名称是有争议的。在我们对 MVC 的解释中,“视图”描述了呈现给用户的数据。数据看起来怎么样并不重要,重要的是哪些数据被呈现。该视图描述了*您看到了哪些数据*,而不是*您怎么看到数据。*这是一个微妙的区别。所以,在我们的例子里,一个"视图(view)"是 Python 中针对一个特定 URL 的回调函数,此回调函数描述了需要展示的数据。此外,将内容和展示效果分开是很明原创 2019-06-04 16:18:03 · 1521 阅读 · 0 评论 -
CentOS7.6安装python3.6.8并与python共存
将以下命令保存为.sh文件,bash 运行即可#!/bin/bashset -ex \ && yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make wget \ && yum clean...原创 2019-06-10 17:34:54 · 437 阅读 · 0 评论 -
使用gunicorn+nginx部署flask时,Flask限流模块-flask-limiter获取远程客户端ip地址
解决问题:使用Nginx+gunicorn部署时,限流模块获取ip地址进行限制时,只能获取到本机地址。nginx配置修改加上roxy_set_header X-Real-IP $remote_addr;flask-limiter获取ip地址函数修改这是使用限流模块获取远程ip地址的函数def get_remote_address(): """ :return: t...原创 2019-07-19 10:17:32 · 1001 阅读 · 0 评论 -
使用rabbitmq实现异步发送邮件
# -*- coding: utf-8 -*-# @Time : 2019/8/21 17:35# @Author : Coderfly# @Email : coderflying@163.com# @File : test.pyfrom smtplib import SMTP,SMTPExceptionfrom email.mime.text import MI...原创 2019-08-21 18:17:43 · 1754 阅读 · 0 评论 -
redis和rabbitmq实现延时队列
有时候有些业务是需要在消息过期后执行一些操作,譬如订单创建三十分钟后自动删除。redis通过redis键过期通知可以实现此功能首先启用redis通知功能:编辑/etc/redis/redis.conf文件,添加或启用以下内容(过期通知):notify-keyspace-events Ex或者登陆redis-cli之后,输入以下命令:config set notify-key...原创 2019-09-20 17:02:28 · 1885 阅读 · 0 评论 -
5.elasticsearch数据输入和输出
以下所有内容来源于官方文档——数据的输入与输出取回一个文档(pretty可以使输出格式化)GET /website/blog/123?pretty返回文档的一部分GET /website/blog/123?_source=title,text如果你只想得到_source字段,不需要任何元数据,你能使用_source:GET /website/blog/123/...转载 2019-11-15 14:34:33 · 1068 阅读 · 0 评论 -
Dockerfile创建自定义镜像
使用 Dockerfile 定制镜像 镜像的定制实际上就是定制每一层所添加的配置、文件。如果我们可以把每一层修改、安装、构建、操作的命令都写入一个脚本,用这个脚本来构建、定制镜像,那么无法重复的问题、镜像构建透明性的问题、体积的问题就都会解决。这个脚本就是 Dockerfile。 Dockerfile 是一个文本文件,其内包含了一条条的指令(Instruction),每一条指令构建一层...转载 2018-07-16 09:48:28 · 4129 阅读 · 1 评论 -
django+uwsgi+nginx远程服务器简单部署
Step:1 软件安装nginx,mysql,redis。redis默认配置即可,为了可以远程连接数据库需要进行以下操作(root用户为例):grant all on root.* to 'root'@'%'; flush privileges修改mysql配置文件:vim /etc/mysql/mysql.conf.d/mysqld.cnf将此行注释。...原创 2018-08-11 00:47:07 · 1155 阅读 · 1 评论 -
SSH远程服务器免密登录
Step 1:本地生成密钥对 ssh-keygen -t rsa查看公钥:cat /root/.ssh/id_rsa.pub复制公钥准备配置Step 2:服务器配置服务器端:vim /etc/ssh/sshd_config红线行,解除注释/.ssh/authorized_keys 存放公钥mkdir /.sshvim /.ssh/autho...原创 2018-08-10 17:45:33 · 383 阅读 · 0 评论 -
Python生成图形验证码
改代码为大神开源出的代码,验证码质量很高,有时候肉眼都难以识别。#!/usr/bin/env python3# -*- coding: utf-8 -*-import randomimport stringimport os.pathfrom io import BytesIOfrom PIL import Imagefrom PIL import ImageFilterfr...转载 2019-06-05 18:13:57 · 444 阅读 · 0 评论