自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

博文的_博客

记录下每天所学和成长

原创 全文检索Elasticsearch

场景:当用户在搜索框输入商品关键字,我们要为用户提供相关商品搜索结果。 当然搜索的实现可以选择模糊查询,使用like关键字来实现,但是like关键词的效率极低,且在多个字段之间进行查询,like也并不便捷。 这里全文检索需要配合搜索引擎来实现。 搜索引擎的原理:搜索引擎进行全文检索时,会对数...

2019-10-10 16:39:31

阅读数 31

评论数 3

原创 fastdfs上传图片后访问时无法显示

使用fastdfs上传图片后,根据产生的storage内的存储地址编号访问却访问不到: 试试这个方法: vim /etc/fdfs/mod_fastdfs.conf 此处的store_path0一定要与storage.conf中的地址路径相同。 ...

2019-09-30 14:16:59

阅读数 710

评论数 0

原创 compilation terminated. make[1]: *** [objs/addon/src/ngx_http_fastdfs_module.o] Error 1 make[1]: Lea

在编译执行中发生: compilation terminated. make[1]: *** [objs/addon/src/ngx_http_fastdfs_module.o] Error 1 make[1]: Leaving directory `/opt/nginx-1.8.1'...

2019-09-30 14:08:05

阅读数 343

评论数 1

原创 FastDFS:ERROR - file: connection_pool.c, line: 130, connect to 10.10.21.228:22122 fail

解决方法:以上问题可能是由于在配置client.conf和storage.conf 时 tracker_server=你的IP:22122中 Ip地址为虚拟机的ip地址

2019-09-30 13:55:51

阅读数 338

评论数 0

原创 分布式图片服务器FastDFS的安装与配置

Fastdfs是c语言编写的开源分布式文件系统。 Fastdfs为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制。 并注重高可用、高性能等指标。使用fastdfs很容易搭建一套高性能的文件服务器集群提供文件上传与下载等服务。 Fastdfs架构包括Tracker server ...

2019-09-30 13:53:55

阅读数 26

评论数 0

原创 订单产生中的mysql事务

事务被广泛运用于订单系统,银行系统。先说一下事务是什么? 事务 事务是一组sql操作,要么都成功要么都失败。 事务的特性 原子性:事务包含的所有操作要么全部成功要么全部失败回滚,成功必须完全应用到数据库,失败则不能对数据库产生影响。 一致性:事务执行前和执行后必须处于一致状态。 隔离性...

2019-09-29 18:32:38

阅读数 50

评论数 0

原创 Redis搭建主从服务

两个redis服务可以在同一台电脑,也可以不再同一台电脑上,但要保证两台电脑是可以进行通信的。 配置主服务: 1、更改redis.conf文件: bind 127.0.0.1 为你要改的ip地址。 2.启动redis服务: redis-server.exe redis.windows....

2019-09-25 22:06:04

阅读数 7

评论数 0

原创 redis与python交互&session的redis存储配置

安装包: pip install redis 调用模块: from redis import * 这个模块中提供了(类)StrictRedis 对象(Strict严格),用于连接redis服务器,并按照不同的类型提供了不同的方法,进行交互操作。 sr=StrictRedis(hos...

2019-09-25 21:57:02

阅读数 432

评论数 0

原创 Redis简介及核心配置

先补充一下关系型数据库和非关系型数据库的区别: 关系型数据库:数据库中有那些表,表里有哪些字段,表与表之间有什么关系 noSQL:非关系型数据库 存储结构跟传统关系型数据库中的那种关系表完全不同,nosql中存储的数据都是kv形式。 nosql的世界中没有同一种通用语言,每种nosql都有...

2019-09-25 21:50:44

阅读数 405

评论数 0

原创 redis数据缓存

页面数据的缓存 比如首页信息,不论用户有没有登录,它很多显示的数据时一样的。 减少了数据的查询次数:把页面使用到的数据存放在缓存中,当再次使用这些数据时,先从缓存中获取,如果获取不到再去查询数据库。减少数据库查询次数。 数据库需要查询,文件需要读取比数据库更慢,与之相比内存型的redis数据...

2019-09-24 21:55:46

阅读数 409

评论数 0

原创 django-celery+redis异步页面静态化及nginx页面调度

对于用户,没有登录时浏览的首页是一样的,首页内容不经常变化。 如果多个用户访问,访问的页面一样,那查询的数据库也是一样,何不把页面生成响应的静态页面? 那什么时候需要重新生成静态页面? 使用celery里边定义任务函数来生成静态页面。 当管理员后台修改了首页信息,对应表格中的数据的时候,需...

2019-09-24 21:19:41

阅读数 119

评论数 1

原创 解决Celery: AppRegistryNotReady("Apps aren't loaded yet.") django.core.exceptions.AppRegistryNotReady:

在使用django-celery+redis进行异步任务处理时遇到以下问题: 解决:

2019-09-24 14:43:47

阅读数 867

评论数 1

原创 分布式下的session和token

session是有状态的,一般存放于内存,数据库或文件中。 当服务器采用分布式或者集群的时候session就会面临负载均衡的问题。 解决session的负载均衡:负载均衡多服务器的时候无法确定当前用户是否登陆,因为多服务器是不共享session的。其中的一种方法是将session存放于一个服务...

2019-09-23 16:13:36

阅读数 53

评论数 0

原创 Cookie&Session&Token

由于Http协议是无状态协议,下一次访问一个页面并不知道上一次对这个页面做了什么。 cookie、session、token是为了使网页之间可以共享某些数据。 cookie: cookie由服务器生成,存储在浏览器的一小段文本信息,web可以通过这个信息来识别不同用户。 这里提一下在 Ja...

2019-09-23 15:16:59

阅读数 22

评论数 0

原创 自定义过滤器的实现

先简单提一下过滤器是什么,过滤器用于对模板变量进行操作。 自定义的过滤器就是当前内置的过滤器不满足需求的时候,就需要自定义过滤器。 创建自定义过滤器的步骤如下: 1.在应用下新建package 名称为templatetags,新建一个filters.py. 案例如上:自定义的过滤器,和...

2019-09-23 11:27:54

阅读数 88

评论数 0

原创 中间件详析

中间件 中间件函数是django框架给我们预留的函数接口,让我们可以干预请求和应答的过程。 以禁止某ip访问网站为例进行说明,可利用django提供的中间件来实现。 1.如何获取浏览器端的ip地址: request.META['REMOTE_ADDR']#使用requ...

2019-09-21 14:14:42

阅读数 15

评论数 0

原创 Django静态文件动态获取

静态文件: 1.在应用下创建static文件,在static目录下分别创建css、js、images 2.settings.py中配置静态文件存放的物理目录 STATIC_URL=/’static/’ #设置访问静态文件对应的url地址 STATICFILES_DIRS=[os.path...

2019-09-21 11:49:00

阅读数 84

评论数 0

原创 元选项

元选项 后期工作中若更改APP应用名称,之前已经生成的表名被修改,很肯能会造成后期找不到对应表而报错。 为了避免这种情况,让表面不依赖于应用名,下面的方法可以解决这个问题。 由于django中默认生成的表名为:应用名小写_模型类名小写 此时需要在模型类中定义一个元类Meta: 1....

2019-09-20 21:53:22

阅读数 9

评论数 0

原创 Django模型类关系及操作

模型类的关系 一对多关系 models.ForeignKey() 定义在多类中 多对多关系 models.ManyToManyField() 定义在哪个类都可以 一对一关系 modedls.OneToOneField() 定义在哪个类都可以 关联查询(一对多) 在一对多关系中一对应...

2019-09-20 21:43:56

阅读数 17

评论数 0

原创 Django模型--从配置到查询

模型_Django配置使用mysql数据库 .Django ORM : 类和数据表之间建立关系,通过面向对象的方式就可以操作数据库。 O(objects)类和对象 R(Relation)关系,关系数据库中的表格 M(Mapping)映射 根据设计的模型类生成数据库的表格 通过方便的配置...

2019-09-20 14:14:26

阅读数 19

评论数 0

原创 迭代器生成器

迭代器 迭代器是访问集合元素的一种方式。 迭代器保存的是生成数据的代码,并不是代码生成的数据结果。 迭代器实现了循环,减少内存空间的使用,可以规定数据的生成方式。 1.到底什么是迭代器,判断是否是一个迭代器,跟着栗子来.... for temp in temp_obj: pa...

2019-09-19 14:16:15

阅读数 609

评论数 0

原创 线程-共享全局变量和资源竞争

一、多个线程共享全局变量 在一个函数中对全局变量进行修改的时候,到底是否需要global进行说明, 要看是否对全局变量指向了一个新的地方,那么必须使用global。 如果是修改了指向空间的数据,此时不用必须使用global. 二、子线程共享全局变量 t1=threading.Threa...

2019-09-18 19:14:18

阅读数 17

评论数 0

原创 多任务、线程理解

多任务及线程的创建 1.先谈多任务,假如没有多任务,那就只能执行完一个任务再去执行一个任务。 先看代码: import time import threading def sing(): for i in range(1,5): print("%s在唱歌&...

2019-09-18 17:24:24

阅读数 12

评论数 0

原创 Queue与Pool

Queue(消息队列) 1.创建消息队列 import multiprocessing q = multiprocessing.Queue(队列长度) 2.Queue相关方法 put 往队列放数据 ,队列已经满的时候,则会进入等待状态,等队列取出数据后再次放入数据。 put_nowai...

2019-09-18 11:27:23

阅读数 256

评论数 0

原创 全文检索实现

一、在虚拟环境中安装需要的包 #1.安装全文检索框架 Pip install diango-haystack #2.安装全文检索引擎. pip install whoosh 二、settings.py中注册全文检索框架 三、在settings.py中配置搜索引擎 四、索引文件的生成 1....

2019-09-17 15:25:04

阅读数 232

评论数 0

原创 接口返回内容的自定义及接口传参

接口返回内容的自定义 1.项目根目录中创建untils包用来存放要编写的renderer文件 2.创建rendererresponse.py文件 from rest_framework.renderers import JSONRenderer #重写render方法 class c...

2019-09-12 21:46:54

阅读数 87

评论数 0

原创 前端Vue-Resource接口请求和数据绑定

接口分页功能 接口的分页配置:在配置中添加分页配置 DEFAULT_PAGINATION_CLASS 为rest_framework自带的分页器 PAGE_SIZE为单页的数量 至此,以上完成了后端开发的工作。 总结一下: 接口访问逻辑: 1.请求接口api,匹配到具体路由,找到...

2019-09-12 19:50:11

阅读数 292

评论数 0

原创 API接口开发

前言 在工作中,逐渐多的出现不使用页面展示数据,直接使用数据接口,这样有以下好处: 1.首先可以实现动静分离,将数据库的查询和页面的渲染彻底分开。 2.网站可以支持批量的脚本开发。 最原始的接口搭建是使用类视图搭建接口,但接口的规范很难约束,接着就出现了接口框架。使用框架进行规范的接口开发...

2019-09-11 23:23:14

阅读数 529

评论数 0

原创 Yum库的配置

一、Yum 库配置 Yum (yellow dogupdater modified):yum使用python编写,是在centos 和Redhat 当红的shell前端的包管理工具,地位类似python中的pip. 二、Yum结构 /etc/yum.repos.d 目录是yum的根目录,下面...

2019-08-02 18:50:26

阅读数 10

评论数 0

原创 Linux IP配置

一、 Linux IP 地址部分 数据在网络上通过协议传递,在传输过程当中,经过好的介质。协议是传输的规则的约定。 OSI 七层参考模型 用户 应用层 http ftp ...

2019-08-01 22:23:16

阅读数 9

评论数 0

原创 Linux进程管理

Linux进程管理 进程是程序的一次运行,进程拥有独立的内存空间,拥有获取和释放内存的能力。 僵尸进程:当进程结束,内存没有释放,一直占用内存的进程。 在上面的代码当中,主线程main在子线程都开启(start)之后输出main is end ,然后结束之后子线程接着运行,运行完成之后,...

2019-07-31 21:52:20

阅读数 33

评论数 0

原创 Linux的用户操作和ssh服务

一、linux用户操作 1.添加用户:useradd 2.删除用户 userdel -r 删除递归用户 3.修改密码 passwd 以下为修改root密码为例 注意:修改普通用户(默认普通用户没有修改密码的权限,所有在root上通过passwd用户修改密码) 4.cat...

2019-07-29 22:31:14

阅读数 622

评论数 0

原创 Linux下python3环境部署

Linux下python3和python2共存 步骤: 1.yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc* make -y 2...

2019-07-28 16:42:52

阅读数 31

评论数 0

原创 Linux基础知识与常用基本命令

一、linux 特点及哲学思想 1.一切皆文件 2.由众多目的单一应用程序组成:一个程序只做一件事 3.组合目的单一的小程序完成复杂的任务 4.尽量避免跟用户交互 5.使用文本文件保存配置信息 二、终端、shell理论 终端:人机交互的最后一个界面 shell:人机交互程序 ...

2019-07-27 16:08:28

阅读数 17

评论数 0

原创 嵌套While循环及函数

嵌套While循环 练习:统计字母下划线的个数: a= "ABCD_abcd_1234" i = 0 #定义计数器 zm = 0 shuzi = 0 xhx = 0 while i<len(a): #ascii码 if a[i]>="0&q...

2019-03-06 20:21:12

阅读数 890

评论数 0

原创 运算符和流程控制

一、其他数据类型与bool之间的转换 True:非0的数字、非空的字符串、列表、元组、字典 False:0、‘’、()、[ ]、{ }、None None 不能理解为0;0是有意义的,None是一个特殊的空值。 #None person=None print(bool(person)) ...

2019-03-05 20:04:54

阅读数 49

评论数 0

原创 初始Python

一、Python语言类型 编程语言分为编译型语言和解释性语言。Python属于解释性语言。不用解释太多,图更直接。 二、数据类型相关问题 (1)混合数字类型自动升级 Python划分数字类型的复杂度:bool<int<float<complex 例如:当整数与浮...

2019-03-04 22:15:23

阅读数 51

评论数 0

原创 Python-自学爬虫篇

1.猜拳游戏:玩家从控制台输入手势与电脑进行人机PK:(ps:pk表帮助理解) PK表 玩家 电脑 玩家 电脑 玩家 电脑 石头 1 剪刀 剪刀 剪刀 石头 布 剪刀 2 布 石头 石头 剪刀 ...

2019-03-02 17:44:57

阅读数 702

评论数 1

原创 Python-函数及字符串

函数 功能模块,好比工具,那包/模块就相当于工具箱。 导入包: 格式: import 包名 引入包: 格式: 包名.函数名() / 包名.变量 注意:把 “ . ” 可以当做平常说话的 “ 的 ” 。 1. 先来熟额悉下引用包下的函数和变量吧: import math --...

2019-03-01 20:38:40

阅读数 34

评论数 0

原创 Python-While循环以及函数

循环结构 用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构。 举个例子:输出:10 9 8.....1 c = 10 while c&gt;=1: print(c) c = c - 1 例:求1+2+3+4....+10的累加和 思路: ...

2019-02-28 20:49:16

阅读数 202

评论数 0

提示
确定要删除当前文章?
取消 删除