今天学习了 NoSQL 中 MongoDB 和 Redis 的一些入门知识,因为并不想深入了解学习(只是想了解学习 SQL 之外的),所以只是简单了解了入门的一些基础知识与命令,在此总结记录下。
文档数据库 MongoDB 入门
文档数据库 MongoDB 用于记录文档结构的数据,如 JSON、XML结构的数据。一条文档对应的是 SQL 中的一条记录(一行),一条记录里可以包含若干个键值对。键值对由键和值两个部分组成,键值对的值可以使普通值,如字符型、整型等,也可以是文档、数组或是文档数据。
MongoDB 具有高性能、丰富的查询语言、高可用性、水平扩展能力、多个存储引擎的支持。具体怎么支持的目前还没有欲望深入了解。
MongoDB 基本命令
不用说也知道下面的命令需要安装启动 MongoDB 后才能 在 terminal 或是使用 Navicat 连接 MongoDB 后执行吧。
创建数据库:use 数据库名;例如:use goodsdb;(不需要分号)
查看数据库:show dbs;
统计某数据库信息:()
删除数据库:()
查看当前数据库下所有的集合名称:()
查看数据库用户角色和权限:show roles
MongoDB 基本操作
插入文档:use goodsdb
: 选择操作的数据库({"括号内是 JSON 等格式的数据"})
:向 goodsbaseinf 集合中添加文档数据,插入文档数据中可存在嵌套的文档数据,具体参照 JSON 数据格式。之后可使用 ()
查询插入数据。此外还存在 insertOne(), insertMany() 两种简化的插入命令,前者确保一次只插入一条文档。
查询文档
在 ().find()
中以 JSON 的格式加入查询限定条件即可实现条件查询。如:().find({name:"Allen Anker"})
语句会查询出文档中 name 键对应值为 “Allen Anker” 的文档记录。
更新文档
命令:;
用例:({title:"name 1"}, {$set:{title:"name 2"}})
;查找
title 值为 “name 1” 的记录并更改其 title 值为 “name 2”
其他命令用例(命令名称都是 self-explanatory 的):$inc: {amount:5}, $mul:{amount:2}, $rename:{}, $unset:{}, $min:{amount:50}, $max{},如 inc 对应的是将查到符合的记录的 amount 值作增量 5 的操作。
删除文档
命令:({})
创建索引:
命令:({name:""})
;
其他更深入的命令目前就没有了解了。
键值数据库 Redis 入门
Redis 是一个开源的基于内存处理的数据结构存储系统,可以作为数据库使用,也可以作为缓存处理和消息传递处理。Redis 主要在内存中实现对各种数据的运算,以提高数据处理速度。但 Redis 也提供了隔一段时间转存到网盘,或通过命令附加到日志来持久化数据。当然,为了提高数据处理速度,也可以完全禁用持久性功能。
Redis 存储模式
字符串String、列表List、集合Set、散列表Hash(无序的一种数据集合)、有序集合Sorted Set、位图Bitmap。
Redis 命令
感觉 Redis 的命令要更接近于平常编程写的代码。
字符串命令
Set BookName “《》” EX 1
MSet, MSetNX, Get, MGet, Del, StrLen,
修改字符串操作命令Append
,Append key value, 在 key 键对应的值后追加 value 内容GetRange
(GetRange key start end), 查询 key 键内容,start 为内容开始处GetSet
, GetSet key value, 查询后修改 key 对应的值为 valueSetRange
, Set key offset value, 替换指定键字符串的一部分,修改 key 对应值 offset 位置后的内容为 value。
修改数字值操作命令Decr,DecrBy,Incr,IncrBy,IncrByFloat
位图命令
。。。不太想是入门内容,没有了解。
列表命令LPush,LRange,RPush,LPop,LRem,LIndex,LLen,LTrim LInsert key before
等,例如 LInsert TestInsert Before "four" "three"
的意思是在列表 TestInsert 中 “four” 值得前面插入值 “three”;LPush 即从列表的左边“推入”(插入)值,那么 RPush 就对应右边啦,其他类似命令以此类推。
还有其他许多的各种命令再次就略过了。
今天学习 MongoDB 和 Redis 的入门知识回顾总结如上。