=================================python
一、自动分配、你在何时用到了自动分配?redis
答:市场部或运营部招来的新的客户,单条(批量)录入数据的时候,进行自动分配。数据库
二、那是怎么自动分配的呢?django
答:基于redis的列表实现的。至关于队列用了。缓存
====================================服务器
自动分配(redis)
数据放缓存,为的就是速度快
redis是支持持久化的,若是关机之后,数据已经会放在文件里了微信

先买上一台电脑:装上redis服务器软件 - 这个服务器有个工网IP:47.93.4.198 - 端口:6379 咱们的电脑:装上连接redis的模块 - pip instaill redis

redis:说白了就是一个服务器的一个软件,帮助咱们在内存里面存数据 conn.lpush("names":"sss") #往里边放入值 conn.lpush("names":*[地方法规","dfgdf"]) #放多个值 ,从左边添加,至关于insert conn.rpush("names":*[地方法规","dfgdf"]) #放多个值 ,从后面添加,至关于append conn.lpop("names") #一个一个从里面取值 ,bytes类型 conn.rpop("names") #从里面取值 ,bytes类型 conn.llen("names") #查看长度
1 |
import redis |
在项目中应用
连接redis,吧全部的数据列表放在redis里,吧回滚的也放在redis里面

原来是迭代器一个一个取值,如今咱们能够用连接redis,rpop一个一个取值 当出问题回滚的时候(或者没有使用),咱们能够用rpush吧它再添加进去,而后在取出来 conn.lindex("said_id_list_origin",0) #查看索引0对应的值

第一次运行,只有数据库有数据 若是数据库中没有取到值,那么直接返回None 接下来一个一个获取,若是取到了None,已经取完,再把备用的列表里面的数据在放回去 分配表里面的数据若是更新的话就须要重置了
1 |
import redis |
总结: 一、什么是redis? 二、set,get对字符串作操做的, 三、lpush,rpush,lpop,rpop对于列表作操做的 lindex:取索引 llen() :长度 四、 delete :删除 :公共的
扩展:app
redis和咱们的数据库同样,不能每次都连接,redis支持链接池ide
不推荐post

推荐

批量导入
上传excel文件,页面上显示

上传文件
一、拿到文件名和文件大小 file_obj.field_name: 文件名, file_obj.size :文件大小 二、打开文件读取,以写的方式存起来 三、安装xlrd-1.1.0的两种方式 python setup.py build pip instail xlrd 四、打开excle文件作操做。拿到每个单元格的数据,写入数据库 吧第一行排除,能够吧列表转换成字典,录入到数据库 五、做业 自动获取ID 录入客户表 录入分配表 不在建立临时xlsx文件,写在内存里面, 写上一个模板文件,让用户去下载 六、文件,用户下载文件的两种方式 吧文件写在静态文件里面,用a标签去跳转。可是这种当是可能不行 设置响应头(搜索django如何实现文件下载)