=================================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如何實現文件下載)