redis简介
键值对存储数据库是NoSQL数据库的一种类型,也是最简单的NoSQL数据库。顾名思义,键值对存储数据库中的数据是以键值对的形式来存储的。常见的键值对存储数据库有Redis、Tokyo Cabinet/Tyrant、Voldemort以及Oracle BDB数据库。
Remote Dictionary Server,简称Redis,即远程字典服务器,它是一个开源的、高性能的、基于键值对的缓存与存储数据库,并且通过提供多种键值数据结构来适应不同场景下的缓存与存储需求。Redis数据库是基于ANSI C语言编写开发的,并且提供了多种语言API,例如Java、C/C++、C#、PHP、JavaScript、Perl、Python及Ruby等语言。
Redis数据库提供了多种数据结构,其中最常见的数据结构有String(字符串)、List(列表)、Set(集合)、Hash(散列)、Sorted Sets(有序集合)。
Redis是一个开源、跨平台的数据库,因此Redis数据库可以运行在Windows、Linux、Mac OS和BSD(Unix的衍生系统)等多个平台上,为我们提供数据库服务。不同的操作系统平台,部署Redis也会有所不同。
由于Redis官方不支持Windows平台,因此我们无法在Redis官网下载Redis安装包,但是,微软开发并维护了针对Win64的Windows版本。
1.下载
下载链接:https://github.com/microsoftarchive/redis/tags
选择要下载的版本,本教程下载的是win-3.2.504版本。msi为安装包,需要安装,zip为压缩包,不需要安装,只需要解压。本教程选择zip压缩包。Source code (tar.gz)是linux系统下的源码包,所以这里选择下载Source code (.zip)。
2:解压
加压后的redis包含5个redis可执行程序和一个核心配置文件。
可执行程序 | 相关说明 |
redis.windows.conf | redis核心配置文件 |
redis-benchmark.exe | redis性能测试工具 |
redis-check-aof.exe | redis修复AOF文件工具 |
redis-check-dump.exe | redis检测RDB文件(快照持久化文件)工具 |
redis-cli.exe | redis命令行客户端 |
redis-server.exe | redis服务器启动命令 |
3:启动redis服务
在redis目录下打开命令行窗口,即进入redis目录,在目录栏中输入cmd,按下回车键即可。
在命令行窗口中,输入:redis-server.exe redis.windows.conf ,启动redis服务。若是命令行窗口出现端口号6379则说明启动成功,否则失败。
redis服务默认监听的端口号为6379,因此我们成功启动了redis服务。若要关闭服务,只需要关闭命令行窗口即可。
4:启动redis客户端
至此,我们Redis安装部署(基于windows平台)就完成了。
MongoDB的基本操作可以大致分为以下几个方面:数据库操作、集合操作、文档操作。以下是针对这些方面的详细解答:
一、数据库操作
1. 创建数据库
- 使用
use 数据库名
命令来创建或切换到指定数据库。如果数据库不存在,MongoDB会在需要时创建它。
2. 查看所有数据库
- 使用
show dbs
命令来查看当前MongoDB中的所有数据库。注意,新创建的数据库不会立即显示在show dbs
的结果中,除非在该数据库中至少插入了一个文档。
3. 删除数据库
- 使用
db.dropDatabase()
函数来删除当前所在的数据库。执行此操作前,请确保已切换到要删除的数据库。
二、集合操作
1. 创建集合
- MongoDB中的集合是文档的集合,类似于关系型数据库中的表。在MongoDB中,集合是隐式创建的,即当你向一个不存在的集合中插入文档时,MongoDB会自动创建该集合。
- 如果你想显式地创建集合,可以使用
db.createCollection(name, options)
函数。其中,name
是集合的名称,options
是可选参数,用于指定集合的选项,如是否固定大小、最大文档数等。
2. 删除集合
- 使用
db.collection.drop()
函数来删除指定集合。执行此操作前,请确保已切换到包含该集合的数据库。
三、文档操作
1. 插入文档
- 使用
db.collection.insert({document})
或db.collection.insertOne({document})
命令来插入单个文档。其中,collection
是集合的名称,document
是要插入的文档。 - 如果你想插入多个文档,可以使用
db.collection.insertMany([{document1}, {document2}, ...])
命令。
2. 查询文档
- 使用
db.collection.find()
命令来查询文档。find()
方法可以接受一个查询条件作为参数,并返回满足条件的文档。 - 如果你只想返回满足条件的第一个文档,可以使用
db.collection.findOne()
命令。 - 使用
pretty()
方法可以将查询结果以更易读的格式输出。例如,db.collection.find().pretty()
。
3. 更新文档
- 使用
db.collection.updateOne()
、db.collection.updateMany()
或db.collection.replaceOne()
命令来更新文档。这些命令都需要指定一个查询条件和一个更新文档。
4. 删除文档
- 使用
db.collection.deleteOne()
或db.collection.deleteMany()
命令来删除文档。这些命令都需要指定一个查询条件来确定要删除的文档。
四、其他注意事项
- MongoDB中的文档使用BSON(Binary JSON)格式存储,它支持嵌套文档和数组。
- MongoDB中的集合和文档都不需要预先定义模式,即它们是模式自由的。
- MongoDB支持索引,以提高查询性能。你可以使用
db.collection.createIndex()
命令来创建索引。 - MongoDB的查询语言非常强大,支持各种条件查询、排序、限制返回结果数量等操作。
mongodb基本操作代码详细讲解
MongoDB的基本操作步骤主要包括连接到MongoDB服务器、选择数据库、操作集合(即类似于关系型数据库中的表)以及在这些集合中插入、查询、更新和删除文档(即记录)。下面我会详细解释每个步骤,并提供相应的代码示例。
1. 连接到MongoDB服务器
如果你正在使用MongoDB shell,通常你不需要显式地连接到服务器,因为它默认会连接到本地的MongoDB实例。但是,如果你需要连接到远程服务器或指定其他参数,你可以使用mongo
命令并带上相应的连接字符串。
例如,连接到远程MongoDB服务器:
mongo --host hostname --port port --username username --password password --authenticationDatabase admin
在MongoDB shell内部,你不需要任何代码来保持连接。
2. 选择数据库
在MongoDB中,使用use
命令来选择数据库。如果数据库不存在,MongoDB会在需要时创建它。
use myDatabase;
3. 操作集合
在MongoDB中,你不需要显式地创建集合。当你向一个不存在的集合中插入文档时,MongoDB会自动创建该集合。
插入文档
使用insertOne
或insertMany
方法来插入文档。
// 插入一个文档
db.myCollection.insertOne({ name: "Alice", age: 30, city: "New York" });
// 插入多个文档
db.myCollection.insertMany([
{ name: "Bob", age: 25, city: "Los Angeles" },
{ name: "Charlie", age: 35, city: "Chicago" }
]);
查询文档
使用find
方法来查询文档。
// 查询所有文档
db.myCollection.find().pretty();
// 带条件的查询
db.myCollection.find({ age: { $gt: 25 } }).pretty(); // 年龄大于25的文档
// 查询并限制返回结果数量
db.myCollection.find().limit(1).pretty(); // 只返回一个文档
// 查询并排序结果
db.myCollection.find().sort({ age: -1 }).pretty(); // 按年龄降序排序
更新文档
使用updateOne
、updateMany
或replaceOne
方法来更新文档。
// 更新一个文档(将Alice的年龄更新为31)
db.myCollection.updateOne({ name: "Alice" }, { $set: { age: 31 } });
// 更新多个文档(将所有年龄大于25的文档的城市更新为"San Francisco")
db.myCollection.updateMany({ age: { $gt: 25 } }, { $set: { city: "San Francisco" } });
删除文档
使用deleteOne
或deleteMany
方法来删除文档。
// 删除一个文档(删除名字为Bob的文档)
db.myCollection.deleteOne({ name: "Bob" });
// 删除多个文档(删除所有年龄大于30的文档)
db.myCollection.deleteMany({ age: { $gt: 30 } });
4. 退出MongoDB shell
在MongoDB shell中,你可以使用exit
或quit
命令来退出。
exit
或者
quit()
以上就是在MongoDB中进行基本操作的详细步骤和代码示例。希望这能帮助你更好地理解和使用MongoDB。