Python 自动化之数据库
关于数据库
数据库通常用于后端开发的数据存储以及搭建大数据仓库,
但这种理念在大数据和智能化办公时代正在被打破,现在越来越多的非开发工作者都开始使用数据库存储日常数据。
而不总是游离于Excel操作层面(当然excel是一个很好的跨时代产物),从而实现了在可视化表格和数据库之间的完美
交互。
不仅为日常数据提供的持久化储存,同时在数据查询和大批量操作等方面也都将得到优化,数据库储存不再是开发者的专利。
使用场景
MongoDB适合做什么
MongoDB适合储存大量关联性不强的数据。MongoDB中的数据以”库”—“集合”—“文档”—“字段”结构进行储存。
这种结构咋看和传统关系型数据库的”库”—“表”—“行”—“列”结构非常像。
但是,MongoDB不需要预先定义表结构,数据的字段可以任意变动,并发写入速度也远远超过传统关系型数据库。
Redis适合做什么
Redis有多种数据结构,适合多种不同的应用场景。
1.使用Redis做缓存。Redis的字符串、哈希表两种数据结构适合用来储存大量的键值对信息,从而实现高速缓存。
2.使用Redis做队列。Redis有多几种数据结构适于做队列:
- 使用
列表数据结构,可以实现普通级和优先级队列的功能。 - 使用
有序集合数据结构,可以实现优先级队列; - 使用
哈希表数据结构,可以实现延时队列。
3.使用Redis去重。Redis有多几种数据结构适于做去重:
- 利用
集合数据结构,可以实现小批量数据的去重; - 利用
字符串数据结构的位操作,可以实现布隆过滤器,从而实现超大规模的数据去重; - 利用
Redis自带的HyperLogLog数据结构,可以实现超大规模数据的去重和计数。
4.使用Redis实现积分板。Redis的有序集合功能可以实现积分板功能,还能实现自动排序、排名功能。
5.使用Redis实现发布/订阅功能。Redis自带的发布/订阅模式可以实现多对多的发布/订阅功能。
MongoDB与Redis在多个领域中都有重要的应用。
- 在爬虫开发中,
MongoDB主要用来写数据,Redis主要用来缓存网址。 - 在数据分析中,
MongoDB的聚合操作用得较多。 - 在后端开发中,主要用到
MongoDB的增、删、改、查功能,Redis主要用来做缓存。 - 在游戏开发中,
Redis可以用来做排名功能。
如果希望更好地掌握
MongoDB和Redis,
那么可以在多个领域都寻找项目来进行尝试,从而更全面地了解各个功能和应用场景。
摘自青南 《左手MongoDB,右手Redis》
本文作者:T计划
版权声明:本文采用 知识共享 署名-非商业性使用-禁止演绎(CC BY-NC-ND)国际许可协议 进行许可