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)国际许可协议 进行许可