关于数据库

数据库通常用于后端开发的数据存储以及搭建大数据仓库
但这种理念在大数据和智能化办公时代正在被打破,现在越来越多的非开发工作者都开始使用数据库存储日常数据。

而不总是游离于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自带的发布/订阅模式可以实现多对多的发布/订阅功能。

MongoDBRedis在多个领域中都有重要的应用。

  • 在爬虫开发中,MongoDB主要用来写数据,Redis主要用来缓存网址。
  • 在数据分析中,MongoDB的聚合操作用得较多。
  • 在后端开发中,主要用到MongoDB的增、删、改、查功能,Redis主要用来做缓存。
  • 在游戏开发中,Redis可以用来做排名功能。

如果希望更好地掌握MongoDBRedis
那么可以在多个领域都寻找项目来进行尝试,从而更全面地了解各个功能和应用场景。

摘自青南 《左手MongoDB,右手Redis》


本文作者:T计划
版权声明:本文采用 知识共享 署名-非商业性使用-禁止演绎(CC BY-NC-ND)国际许可协议 进行许可