首页 > 数据库 >MongoDB与Redis可以做什么

MongoDB与Redis可以做什么

时间:2023-02-19 22:34:43浏览次数:52  
标签:实现 MongoDB 什么 Redis 队列 数据结构 可以

1、MongoDB适合做什么

MongoDB适合储存大量关联性不强的数据。
MongoDB中的数据以“库”—“集合”—“文档”—“字段”结构进行储存。这种结构咋看和传统关系型数据库的“库”—“表”—“行”—“列”结构非常像。但是,MongoDB不需要预先定义表结构,数据的字段可以任意变动,并发写入速度也远远超过传统关系型数据库。

2、Redis适合做什么

Redis有多种数据结构,适合多种不同的应用场景。
1.使用Redis做缓存
Redis的字符串、哈希表两种数据结构适合用来储存大量的键值对信息,从而实现高速缓存。
2.使用Redis做队列
Redis有多几种数据结构适于做队列:
● 使用“列表”数据结构,可以实现普通级和优先级队列的功能。
● 使用“有序集合”数据结构,可以实现优先级队列;
● 使用“哈希表”数据结构,可以实现延时队列。
3.使用Redis去重
Redis有多几种数据结构适于做去重:
● 利用“集合”数据结构,可以实现小批量数据的去重;
● 利用“字符串”数据结构的位操作,可以实现布隆过滤器,从而实现超大规模的数据去重;
● 利用Redis自带的HyperLogLog数据结构,可以实现超大规模数据的去重和计数。
4.使用Redis实现积分板

Redis的“有序集合”功能可以实现积分板功能,还能实现自动排序、排名功能。

5.使用Redis实现“发布/订阅”功能
Redis自带的“发布/订阅”模式可以实现多对多的“发布/订阅”功能。

摘自:《左手MongoDB,右手Redis——从入门到商业实战》

标签:实现,MongoDB,什么,Redis,队列,数据结构,可以
From: https://www.cnblogs.com/sword0077/p/17135816.html

相关文章

  • Redis的两种持久化方式
    redis的两种持久化方式  摘自:https://www.cnblogs.com/shenStudy/p/16757742.htmlredis的两种持久化方式redis是一个内存数据库,一旦断电或服务器进程退出,内存数据......
  • 前端日常一问:说说你对用户权限管理的理解,你们公司的解决方案是什么?知道rbac吗?
    I.用户权限管理概述A.用户权限管理的定义用户权限管理是指在系统中对用户进行身份认证和授权,以确定他们能够执行哪些操作和访问哪些资源。这包括限制用户可以执行的操......
  • 超级浏览器有什么功能和价值
    简单来说,超级浏览器的核心价值就是为让同一台电脑上的不同账户实现环境隔离。所以,超级浏览器是一种多个账号在同一台设备上执行多个任务,不会互相干扰的浏览器。这种浏览器主......
  • JavaScript中深拷贝和浅拷贝有什么区别?如何实现深拷贝?
    前言大家好,我是CoderBin,本次讲讲深拷贝和浅拷贝有什么区别?以及如何实现深拷贝?。希望对大家有所帮助,谢谢!如果文中有不对、疑惑的地方,欢迎在评论区留言指正......
  • 一个比 Redis 性能更强的数据库
    给大家推荐一个比Redis性能更强的数据:KeyDBKeyDB是Redis的高性能分支,侧重于多线程、内存效率和高吞吐量。除了性能改进外,KeyDB还提供主动复制、闪存和子密钥过期等功能。......
  • MongoDB简介与应用场景、Docker安装Mongo、整合SpringBoot实现CRUD
    (目录)1MongoDB相关概念1.1业务应用场景传统的关系型数据库(如MySQL),在数据操作的“三高”需求以及应对Web2.0的网站需求面前,显得力不从心。解释:“三高”需求:•Hi......
  • 为什么MBR分区表最大只能识别2T硬盘?
    理解这个问题需要的基础知识:1、机械硬盘的结构:盘片、盘面、磁头、磁道、柱面、扇区的概念。2、硬盘的寻址方式:从CHS到LBA。上面的基础知识在网上搜索即得,不赘述了。......
  • 为什么String是不可变的?
    我应了一声后走到电脑桌前坐下来,顺手打开IntellijIDEA,并找到了String的源码。publicfinalclassString  implementsjava.io.Serializable,Comparable<String>......
  • 前端和后端分别做什么?
    前言 在学习程序开发的时候经常不理解一个工具是前端用的,还是后端用的,想把资料进行分类都分得有点混乱,所以我将我知道的知识点整理成博客前端和后端的区分当我们使用互联......
  • 什么是supervisor?
    supervisor是什么supervisor是用python语言编写的,只能用于类Unix系统上的进程管理工具。supervisor有什么用举一个常见的场景,比如你的项目已经到了测试联调阶段,QA需要你......