Redis持久化
知识是珍贵宝石的结晶,文化是宝石放出的光泽。——泰戈尔
RDB持久化开启方式在Redis安装目录下找到redis.windows.conf这个文件,并打开
下图就是RDB开启方式
RDB持久化是把当前进程数据生成快照保存到硬盘的过程,触发RDB持久化过程分为手动触发和自动触发
1)触发机制手动触发分别对应save和bgsave命令
save命令:阻塞当前Redis服务器,直到RDB过程完成为止,对于内存 比较大的实例会造成长时间阻塞,线上环境不建议使用
bgsave命令:Redis进程执行fork操作创建子进程,RDB持久化过程由子 进程负责,完成后自动结束。阻塞只发生在fork阶段,一般时间很短
2)自动触发RDB的持久使用save相关配置,如“save m n”。表示m秒内数据集存在n次修改 时,自动触发bgsave。
如果从节点执行全量复制操作,主节点自动执行bgsave生成RDB文件并发送给从节点,更多细节见6.3节介绍的复制原理。
执行debug reload命令重新加载Redis时,也会自动触发save操作。
默认情况下执行shutdown命令时,如果没有开启AOF持 ...
(七牛云云端存储)使用python3.7+Vue.js2.0+Django2.0.4异步前端通过api上传文件到七牛云云端存储
序幕云存储的使用范围当下是非常的广泛了。如:某宝,某东这些大型的网上购物平台,许多的商品图片以及视频都开始了云存储。
那什么是云存储呢
云存储是一种网上在线存储(英语:Cloud storage)的模式,即把数据存放在通常由第三方托管的多台虚拟服务器,而非专属的服务器上。
云存储是在云计算(cloud computing)概念上延伸和衍生发展出来的一个新的概念。
比如:七牛云,又拍云….这些云存储服务器
接下来我们来实现七牛云云存储
七牛云配置服务器
首先进入七牛云官网:https://www.qiniu.com/,进行注册登陆
登陆成功后,进入管理控制台,找到对象存储,并进入
进入之后创建一个空间
注:这里值得说一下的是这个区域存储,分为5大区域,选择也是根据自己所在的地区选择。下图是不同区域的上传域名
创建成功之后在个人头像处找到密钥管理,这里的AK,SK需保存
安装库使用七牛云还需要安装一个库
1pip install qiniu
Django(调用接口获取七牛云token)1234567891011# 定义七牛云存储接口from qiniu impor ...
MongoDB与相关命令
序幕MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是可以应用于各种规模的企业、各个行业以及各类应用程序的开源数据库。作为一个适用于敏捷开发的数据库,MongoDB的数据模式可以随着应用程序的发展而灵活地更新。与此同时,它也为开发人员 提供了传统数据库的功能:二级索引,完整的查询系统以及严格一致性等等。 MongoDB能够使企业更加具有敏捷性和可扩展性,各种规模的企业都可以通过使用MongoDB来创建新的应用,提高与客户之间的工作效率,加快产品上市时间,以及降低企业成本。
MongoDB是专为可扩展性,高性能和高可用性而设计的数据库。它可以从单服务器部署扩展到大型、复杂的多数据中心架构。利用内存计算的优势,MongoDB能够提供高性能的数据读写操作。 MongoDB的本地复制和自动故障转移功能使您的应用程序具有企业级的可靠性和操作灵活性
MongoDB特点
MongoDB 是一个面向文档存储的数据库,操作起来比较简单和容易。
你可以通过本地或者网络创建数据镜像,这使得MongoDB有更强的扩展性。
Mongo支持丰富的查询表达式。查询指令使用JSON形式的标 ...
Python中文分词 jieba
序幕Python有个模块可以将一段话中的关键词提取出来,支持中文简体,繁体分词,还支持自定义词库。 –它就是Python中文分词组件jieba
jieba 支持三种分词模式:精确模式、全模式和搜索引擎模式,下面是三种模式的特点。
精确模式:试图将语句最精确的切分,不存在冗余数据,适合做文本分析
全模式:将语句中所有可能是词的词语都切分出来,速度很快,但是存在冗余数据
搜索引擎模式:在精确模式的基础上,对长词再次进行切分
jieba
安装因为 jieba 是一个第三方库,所有需要我们在本地进行安装。
Windows 下使用命令安装:在联网状态下,在命令行下输入 pip install jieba 进行安装,安装完成后会提示安装成功
在 pyCharm 中安装:打开 settings,搜索 Project Interpreter,在右边的窗口选择 + 号,点击后在搜索框搜索 jieba,点击安装即可
三种模式使用123456import jiebaseg_str = '好好学习,天天向上。'print("/".join(jieba.lcut(seg_str))) # 精简模式,返回 ...
Django2.0.4与Vue递归组件实现无限极分类
序幕什么是无限极分类,按照我的理解,就是对数据完成多次分类,如同一棵树一样,从根开始,到主干、枝干、叶子……
家谱树
家谱树是无限极分类的表现形式之一。家谱,现在很多地方都流行起修家谱,那怎么修家谱,按照我理解,就是给自己找一个祖宗,一代代找上去,形成了一个体系,这样编篡而成的叫家谱。家谱树就与之类似,从某个节点开始向上寻找其父节点,再找父节点的父节点,直到找不到为止。按照这种寻找,形成的一个类似树状的结构,就叫做家谱树。
完成无限极分类,主要运用了两种方法,一是递归方式,二是迭代方式。而主要运用无限极分类的地方有商品无限极分类,无限极评论等等。
某博主的无限极评论
京东的商品无限极分类
接下来我们先来测试一个层级效果
创建一个测试文件test.py
123456789101112131415161718#自定义一个列表,已设置好层级关系mylist = [{'id': 1, 'name': '在线课程', 'pid': 0, 'child': [{'id': 2, 'name': 'Python', 'pid': 1}]}, {' ...
递归详解
序幕什么是递归递归,就是在运行的过程中调用自己。例如,当两面镜子相互之间近似平行时,镜中嵌套的图像是以无限递归的形式出现的。也可以理解为自我复制的过程。
语言例子:
从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?“从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?‘从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?……’”
一只狗来到厨房,偷走一小块面包。厨子举起杓子,把那只狗打死了。于是所有的狗都跑来了,给那只狗掘了一个坟墓,还在墓碑上刻了墓志铭,让未来的狗可以看到:“一只狗来到厨房,偷走一小块面包。厨子举起杓子,把那只狗打死了。于是所有的狗都跑来了,给那只狗掘了一个坟墓,还在墓碑上刻了墓志铭,让未来的狗可以看到:‘一只狗来到厨房,偷走一小块面包。厨子举起杓子,把那只狗打死了。于是所有的狗都跑来了,给那只狗掘了一个坟墓,还在墓碑上刻了墓志铭,让未来的狗可以看到……’”
大雄在房里,用时光电视看着从前的情况。电视画面中的那个时候,他正在房里,用时光电视,看着从前的情况。电视画面中的电视画面的那个时 ...
Django2.0.4与Vue联合实现Gitee(码云)三方登陆,以及什么是OAuth2.0认证和授权机制基本流程
序幕码云(Gitee),一款强大的代码托管、质量检测、代码演示、团队协作等开发工具集成到云平台,为了构建更好的码云生态环境,推出了基于OAuth2的API V5版本。
码云三方登陆应用创建
首先,我们注册码云
创建完成之后点击个人头像,找到设置
在设置里找到第三方应用
点击创建应用
应用名称,应用描述,应用主页,回调地址根据自己定义修改
创建完毕之后,会给你APPID与APPkey,这两样要记住
之后的路程可以参照Gitee开发文档
代码实现
Vue
12345678函数名(){ var appid = 'APPID' var redirect_uri = '码云回调地址' // 构造url var url = 'https://gitee.com/oauth/authorize?client_id='+app ...
Django2.0.4与Vue联合实现钉钉三方扫码登陆
序幕钉钉,学生党的噩梦,是阿里巴巴集团专为中国企业打造的免费沟通和协同的多端平台,帮助中国企业通过系统化的解决方案,全方位提升中国企业沟通和协同效率
创建应用
首先注册钉钉开发者平台,成功之后登陆
登陆成功,进入应用开发
找到移动接入应用,进入登陆
创建扫码登录应用授权
LOGO地址就是你钉钉三方登陆的图片地址。回调域名可以自己设置
创建成功之后,会给你专属APPID,APPKEY
代码接入
Vue
12345678函数名(){ var appid = 'APPID' var redirect_uri = '钉钉回调地址' // 构成url var url = 'https://oapi.dingtalk.com/connect/qrconnect?appid='+appid+'&response_type=co ...
Django2.0.4与Vue联合实现新浪微博三方登陆
序幕微博,又名微型博客,指的是一种基于用户关系信息分享、传播以及通过关注机制分享简短实时信息的广播式的社交媒体、网络平台。与国外Twitter、Facebook相似,在我国被广大年轻人喜爱。
新浪微博三方登陆创建应用
首先注册、登陆微博开放平台
登陆之后,在微连接找到网站接入
进入,点击立即接入
设置自己的应用名称,将应用分类设置成网页应用,点击创建
下面这些我们不需要管,记住自己的APPID与APPKey,之后点击高级设置
设置授权回调地址和取消授权回调地址,可以自由更改
由于新浪微博规定如果不通过审核,那么新浪有些接口无权限请求的,可以说你手里只有access_token和uid,却换不到别的东西。所有我们要设置其他东西,点击测试信息,将个人的账号添加到测试里,就可以请求相应的接口。
代码接入
Vue
1234567函数名:(){ // 组装url let url = "https://api.weibo.com/oauth2/authorize?client_ ...
Celery_Error
一、错误前几天给Django配置了Celery,使用
1celery worker -A celery_task -l info -P eventlet
启动Celery,没有使用POST方法测试
今天测试使用了下POST,当我启动服务访问时:
1TypeError: wrap_socket() got an unexpected keyword argument '_context'
出现了错误
二、解决requests包的requests.post发送后,传不回数据
所以,在改变服务器启动方法不要用eventlet,加个参数
1celery worker -A celery_task -l info -P=solo