记忆曲线提醒记单词,通过微信公众号推送给用户,一共八个记忆提醒周期,分别是5分钟,30分钟,12小时,1天,2天,4天,7天,15天.
1.初始界面##
数据库使用了关系型数据库,与非关系型数据库两种.mysql的事件操作可以实现定时推送操作.把推送任务放到数据库中的原因是避免Python的全局GIL锁,多线程的使用服务器资源,增加并发量的.因为单词过多会导致数据量大,增删改查负荷过大.数据库采用双表设计,一张表存储全部数据,一张表用于推送数据,到推送时间的数据,插入第二张表.python代码实现扫描第二张表,如果第二张表有数据推送给用户,之后删除在第二张表中推送过的数据,更改第一张表阶段条目,生成推送事件.
输入单词以后的翻译部分,是通过爬虫得到,并得到读音.为了节约服务器存储资源,读音并不存储,而是,直接利用读音在翻译网站的URL直接访问到,推送给用户,每次输入单词以后都可以得到读音.也就是说,单词可以被多次输入但是并不多次存储,这是因为使用了非关系型数据库,来表示单词是否被存储过.
2.查看帮助
3.插入单词到计划推送##
输入两次单词会存储到数据库推送中
4.删除
删除需要删除三项:1,事件.2,mysql总体数据表中数据.3,sqlite数据表中数据
删除需要用固定的语法:{delete.word}
5.听力训练##
有CET-6的听力被我分篇截开,大约一篇2分钟,点击listening按钮以后会随机从服务器挑选一篇,以发送信息发方式发送给用户.