MongoDB 数据库与集合特性
Databases(数据库)在MongoDB中,数据库是所有文档记录构成的集合的汇总,类似关系数据库中数据库与表的概念。 创建数据库 use test; 创建/切换数据库,如果不存在则创建后切换,存在则直接切换。 Collections(集合)集合类似关系数据库中的表的概念,不过集合是没有表结构的。 创建集合 db.myNewCollection1.insertOne( { x: 1 } ) db.myNewCollection2.createIndex( { y: 1 } ) 插入记录、创建索引如果集合不存在都会自动创建该集合。 当然MongoDB也提供了db.createCollection()方法来创建集合,它提供了更多的创建选项,如最大集合容量、文档验证规则等。如果你要使用默认参数创建集合用上面的自动创建的方式就可以了。 Document Validation(文档验证)这是MongoDB3.2版本推出来的新功能,默认情况下MongoDB不强制要求文档记录有着相同的字段和数据类型,也可以说是集合里面的记录可以有着...
MongoDB 查询数据用法
示例集合db.inventory.insertMany([ { item: "journal", qty: 25, size: { h: 14, w: 21, uom: "cm" }, status: "A" }, { item: "notebook", qty: 50, size: { h: 8.5, w: 11, uom: "in" }, status: "A" }, { item: "paper", qty: 100, size: { h: 8.5, w: 11, uom: "in" }, status: "D" }, { item: "planner", qty: 75, size: { h: 22.85, w: ...
MongoDB 索引篇
MongoDB中的索引MongoDB中的索引和其他关系数据库中的索引类似,MongoDB索引是集合级别的,支持在任何字段及子字段上创建索引。 索引支持MongoDB高效的查询,没有索引将会进行全集合扫描,而如果使用索引则会大大缩小扫描的范围。 索引是特殊的数据结构(B-tree),它将收集数据集的一小部分存储在一个易于遍历的表单中。索引存储指定字段的值并按值排序,支持高效的值相等匹配查询及范围查询,也能根据索引中值的顺序直接返回有序结果。 下图演示了索引中的匹配和排序查询,1代表升序,-1代表降序。 索引类型MongoDB提供了许多索引类型来支持不同数据和查询的类型。 1、默认的_id索引在创建集合的时候就会为_id字段创建一个唯一索引,目的是为了防止_id字段值重复,这个索引不能被删除。 2、单字段索引MongoDB支持在单个字段上创建用户定义的顺序索引,而不用管是升序还是降序。 3、复合索引MongoDB也支持在多个字段上建立复合索引,复合索引中字段的顺序非常重要,如{ userid: 1, score: -1 }:先按userid升序,每个userid再按score进行...
MongoDB 集成到SpringBoot
MongoDB启动器加入Spring Boot依赖后,添加MongoDB启动器即可。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency> MongoDB配置这是MongoDB自动配置的所有参考配置: # MONGODB (MongoProperties) spring.data.mongodb.authentication-database= # Authentication database name. spring.data.mongodb.database=test # Database name. spring.data.mongodb.field-naming-strategy= # Fully qualified name of ...
什么是 MongoDB
什么是MongodbMongoDB是一个开源的基于分布式文件存储的Nosql文档型数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。 什么是文档型数据库数据库里面的记录叫BJSON,就类似json的一种数据结构,比json有更多的数据类型,点击查看更多类型。 文档型数据库的优势: 1、文档里面的对象与许多编程语言中的原生数据类型对应。2、嵌入式文档和数组减少了昂贵连接的需要。3、动态模式支持流畅多态性。 主要特性1、MongoDB支持高性能的数据持久化功能。 2、丰富的查询语言。 3、支持集群高可用性。 4、支持水平伸缩性,可扩展。 5、支持多种存储引擎。
Redis 再牛逼,也得设置密码
Redis 你再牛逼也得设置密码啊,不然会有安全漏洞,造成一些隐患。 还有,比如像出现下面这样的错,需要设置密码,或者关闭保护模式,所以还是设置密码比较安全。不然只能本地操作,不能远程连接。 DENIED Redis is running in protected mode because protected mode is enabled… 下面介绍几种设置密码的方式,及如何使用。 命令设置密码这种方式是临时的,重启后需要重新设置。 config set requirepass 123456 配置设置密码redis.conf中添加配置: requirepass 123456 授权密码:有两种方式: auth 123456 $ ./redis-cli -p 9001 -a 123456
Redis Linux 安装运行实战全记录
下载Redis去Redis官网下载最新的Linux包,Redis官方没有Windows版的下载。 https://redis.io/ 下载后把包上传到Linux服务器。 安装Redis1、解压Redis包 > tar -zxvf redis-4.0.2.tar.gz 2、切换到Redis解压目录 > cd redis-4.0.2 3、编译Redis > make 如报错按以下错误解决。 make: cc:命令未找到 make: *** [adlist.o] 错误 127 > yum install gcc collect2: ld returned 1 exit status make[1]: *** [redis-server] Error 1 make[1]: Leaving directory `/usr/local/redis/src’ make: *** [all] Error 2 > vi src/.make-settings,修改OPT=-O2 -...
Redis 常用操作命令,非常详细!
下面总结并演示了 Redis 的 常用管理命令、key 操作、字符串、集合、列表、散列类型的操作命令。 你需要掌握的 Redis 知识 史上最全 Redis 高可用解决方案总结 为什么分布式一定要有Redis? Spring Boot Redis Cluster 实战干货 Spring Data Redis 详解及实战 一个 Redis 命令,导致公司损失 400 万! 更多请在后台回复关键字:Redis。 常用管理命令1、启动Redis> redis-server [--port 6379] 如果命令参数过多,建议通过配置文件来启动Redis。 > redis-server [xx/xx/redis.conf] 6379是Redis默认端口号。 2、连接Redis> ./redis-cli [-h 127.0.0.1 -p 6379] 3、停止Redis> redis-cli shutdown > kill redis-pid 以上两条停止Redis命令效果一样。 4、发送命令给Redis发送命令有两种方式...
Redis 如何分析慢查询操作?
什么是慢查询和mysql的慢SQL日志分析一样,redis也有类似的功能,来帮助定位一些慢查询操作。 Redis slowlog是Redis用来记录查询执行时间的日志系统。 查询执行时间指的是不包括像客户端响应(talking)、发送回复等IO操作,而单单是执行一个查询命令所耗费的时间。 另外,slow log保存在内存里面,读写速度非常快,因此你可以放心地使用它,不必担心因为开启slow log而损害Redis的速度。 慢查询参数首先来关注下慢日志分析对应的两个参数: 1、slowlog-log-slower-than:预设阀值,即记录超过多少时间的记录,默认为10000微秒,即10毫秒。 2、slowlog-max-len:记录慢查询的条数,默认为128条,当超过设置的条数时最早进入队列的将被移除。线上建议增大数值,如:1000,这样可减少队列移除的频率。 127.0.0.1:6379> config get slowlog-log-slower-than 1) "slowlog-log-slower-than" 2) "10000&quo...
Redis 的 8 大应用场景!
之前讲过Redis的介绍,及使用Redis带来的优势,这章整理了一下Redis的应用场景,也是非常重要的,学不学得好,能正常落地是关键。 下面一一来分析下Redis的应用场景都有哪些。 1、缓存缓存现在几乎是所有中大型网站都在用的必杀技,合理的利用缓存不仅能够提升网站访问速度,还能大大降低数据库的压力。Redis提供了键过期功能,也提供了灵活的键淘汰策略,所以,现在Redis用在缓存的场合非常多。 2、排行榜很多网站都有排行榜应用的,如京东的月度销量榜单、商品按时间的上新排行榜等。Redis提供的有序集合数据类构能实现各种复杂的排行榜应用。 3、计数器什么是计数器,如电商网站商品的浏览量、视频网站视频的播放数等。为了保证数据实时效,每次浏览都得给+1,并发量高时如果每次都请求数据库操作无疑是种挑战和压力。Redis提供的incr命令来实现计数器功能,内存操作,性能非常好,非常适用于这些计数场景。 4、分布式会话集群模式下,在应用不多的情况下一般使用容器自带的session复制功能就能满足,当应用增多相对复杂的系统中,一般都会搭建以Redis等内存数据库为中心的session服务,...
