MongoDB快速上手

MongoDB安装 MongoDB官方的安装指南 Navicat客户端使用 可以在navicat上连上本地的mongodb使用,直观简单 Easy use (Terminal) 在终端中启动mongodb终端: mongosh 以下是一些 MongoDB 的简单常用命令,可以帮助你快速上手并管理 MongoDB 数据库: 启动 MongoDB shell mongo 基本数据库操作 列出所有数据库 show dbs 切换到指定数据库(如果数据库不存在则创建新数据库) use mydatabase 显示当前数据库 db 删除当前数据库 db.dropDatabase() 集合操作 创建集合 db.createCollection('mycollection') 列出所有集合 show collections 删除集合 db.mycollection.drop() 文档操作 插入文档 db.mycollection.insertOne({name: "John", age: 30}) db.mycollection.insertMany([{name: "Alice", age: 25}, {name: "Bob", age: 27}]) 查找文档 db.mycollection.find() db.mycollection.find({name: "John"}) 查找并格式化输出 db.mycollection.find().pretty() 更新文档 db.mycollection.updateOne({name: "John"}, {$set: {age: 31}}) db.mycollection.updateMany({name: "Alice"}, {$set: {age: 26}}) 替换文档 db.mycollection.replaceOne({name: "John"}, {name: "John", age: 32, city: "New York"}) 删除文档 db....

June 6, 2024 · 1 min · 98 words · sirius1y

Ubuntu服务器命令小记

创建用户 # 新建用户 sudo adduser newuser # 添加到用户组 sudo usermod -aG sudo newuser # 这里-aG选项表示将用户添加到指定组中。sudo是Ubuntu中默认的超级用户组。 查看系统信息 查看CPU信息: lscpu: 显示CPU架构信息,如型号、核心数、线程数等。 top 或 htop(需要安装): 实时显示CPU使用率及其它系统信息。 不得不说htop比top好用太多! 查看GPU信息 (如果安装了NVIDIA GPU): nvidia-smi: 显示NVIDIA GPU的状态,包括使用率、温度、显存使用等。 查看内存信息: free -m: 显示内存使用情况,包括总量、使用中、空闲等,单位为MB。 vmstat: 显示内存统计信息及系统进程、交换、IO等信息。 查看网络信息: ifconfig(在某些系统中可能需要安装net-tools): 显示网络接口配置信息。 ip addr: 显示网络接口的IP地址。 netstat(可能需要安装): 显示网络连接、路由表、接口统计等信息。 nload 或 iftop(需要安装): 实时监控网络流量和带宽使用。 关闭桌面 如果您的Ubuntu服务器当前运行着GNOME或任何其他图形界面,并且您想要关闭这个图形界面(也就是说,让服务器运行在纯命令行模式),您可以按照以下步骤操作: 关闭GNOME或图形界面 停止图形界面服务: 对于使用systemd的系统(如最新版的Ubuntu),您可以使用以下命令停止gdm(GNOME Display Manager)或类似的服务: sudo systemctl stop gdm3 如果您不确定是哪个显示管理器(比如可能是lightdm, sddm等),可以先检查当前运行的显示管理器: systemctl list-units --type=service | grep -E 'gdm|sddm|lightdm|x11' 禁用自动启动: 如果您不想在每次启动时自动进入图形界面,可以禁用对应的服务: sudo systemctl disable gdm3 再次启用GNOME或图形界面 当您需要再次启用GNOME或其他图形界面时,您可以使用以下命令:...

December 20, 2023 · 11 min · 2198 words · sirius1y

常用的网络命令

ipconfig, ifconfig, ip ipconfig是windows中的命令,linux上是ifconfig,但ip命令比ifconfig更强大,旨在取代ifconfig命令。 ping ping命令是DOS命令,一般用于检测网络是否通畅以及网络连接速度,结果只越大,说明速度越慢。它使用网络层的ICMP协议。 ping [参数选项] [主机名或IP地址] linux 参数 含义 -c 设置完成要求回应的次数 -i 指定收发信息的间隔时间 -s 设置数据包的大小 -w 在设定的秒后退出 windows 参数 含义 -t 连续对IP地址执行ping命令,直到用户以<control+c>键强制中断 -l 指定ping命令的数据长度 -n 执行特定次数的ping命令 netstat netstat 用来查看当前操作系统的网络连接状态、路由表、接口统计等信息,来自于 net-tools 工具包,ss 是 netstat 的升级版。 参数 含义 -a 显示主机中所有活动的网络连接信息 (包括监听、非监听状态的服务端口) -n 以数字的形式显示相关的主机地址、端口等信息 -p 显示与网络连接相关联的进程号、进程名称信息 (该选项需要 root 权限) -l 显示处于监听 (Listen) 状态的网络连接及端口信息 -t 查看 TCP (Transmission Control Protocol,传输控制协议) 相关的信息 -u 显示 UDP (User Datagram Protocol,用户数据报协议) 协议相关的信息 -r 显示路由表信息 -i 显示网卡列表 -g 显示组播组的关系 -s 显示网络统计信息 常用命令选项:...

October 26, 2023 · 4 min · 690 words · sirius1y

SQL学习笔记

导出数据库为sql文件,在命令行中执行: mysqldump -u root -p course-system > course-system.sql DDL(Data Definition Language)数据定义语言 操作库 -- 创建库 create database db1; -- 创建库是否存在,不存在则创建 create database if not exists db1; -- 查看所有数据库 show databases; -- 查看某个数据库的定义信息 show create database db1; -- 修改数据库字符信息 alter database db1 character set utf8; -- 删除数据库 drop database db1; -- 使用某一数据库 use db1; 操作表 -- 创建表 create table student( id int, name varchar(32), age int , score double(4,1), birthday date, insert_time timestamp ); -- 查看表结构 desc 表名; -- 查看创建表的SQL语句 show create table 表名; -- 修改表名 alter table 表名 rename to 新的表名; -- 添加一列 alter table 表名 add 列名 数据类型; -- 删除列 alter table 表名 drop 列名; -- 删除表 drop table 表名; drop table if exists 表名 ; DML(Data Manipulation Language)数据操作语言 增加 insert into -- 写全所有列名 insert into 表名(列名1,列名2,....

October 20, 2023 · 6 min · 1255 words · sirius1y

Redis常用指令

快速了解Redis Redis是什么?为什么要使用Redis?他有什么好处和优势?他的弊端又有哪些呢?他的基本模型和技术有哪些? Redis是什么? Redis(Remote Dictionary Server)是一种开源的内存数据存储系统,它可以用作数据库、缓存和消息代理。它被设计用于快速访问、存储和分析数据,以及支持各种数据结构,如字符串、哈希表、列表、集合、有序集合等。Redis支持持久化,可以将数据保存在磁盘上,以便在重启后恢复数据。 为什么要使用Redis? Redis有许多优点,使其成为广泛使用的数据存储和缓存解决方案: 优势 快速访问: Redis数据存储在内存中,因此具有非常快速的读写性能,适合用作缓存层,加速数据访问。 丰富的数据结构: Redis不仅支持简单的键值存储,还支持多种数据结构,如列表、集合、有序集合等,这使得它适用于更多不同类型的应用场景。 持久化: Redis支持数据的持久化,可以将数据保存在磁盘上,以便在服务器重启后恢复数据。 分布式架构: Redis支持分布式集群,可以将数据分散在多个节点上,提高数据的可用性和性能。 发布/订阅: Redis具有消息代理功能,可以用于发布和订阅消息,支持实时数据推送和通知。 事务支持: Redis支持事务,允许一系列操作以原子方式执行,保证数据的一致性。 弊端 内存消耗: Redis的数据存储在内存中,因此对于大规模数据集可能会占用大量内存。尽管有持久化选项,但内存仍然是其主要的存储介质。 单线程: Redis在单个进程中使用单线程处理所有的命令请求。这在某些高并发情况下可能成为性能瓶颈。 基本模型和技术 键值存储: Redis的基本模型是键值存储,您可以使用键来检索存储在Redis中的数据。 数据结构: Redis支持字符串、哈希表、列表、集合、有序集合等多种数据结构,使其非常灵活。 持久化: Redis支持两种持久化方式,分别是快照(snapshotting)和日志(append-only file)。 发布/订阅: Redis支持发布/订阅模式,允许客户端订阅特定的频道并接收实时消息。 分布式: Redis可以通过分片或复制来构建分布式架构,提高可用性和扩展性。 Redis vs. MySQL 性能比较 读写性能: Redis在内存中存储数据,因此具有非常快速的读写性能,尤其适合高并发读取和写入场景。与此相比,MySQL可能受到磁盘IO和索引的影响,其读写性能相对较低。 数据结构: Redis支持多种数据结构,使其适合用于更复杂的数据模型,如实时计数、排行榜、分布式锁等。MySQL虽然也支持多种数据类型,但通常用于结构化数据的存储。 缓存: Redis非常适合用作缓存层,可以减轻数据库的负载,提高数据访问速度。MySQL也可以用作缓存,但Redis的读取速度更快。 事务和持久化: Redis支持事务,但它的事务模型不如MySQL严格。MySQL提供强大的事务支持和多种持久化选项。 适用领域和场景 Redis适合场景 实时数据:例如实时计数、统计信息和分析。 缓存:用作高速缓存,提高数据访问速度。 实时消息:发布/订阅模式用于实时消息传递。 会话存储:存储用户会话数据,适用于分布式系统。 分布式锁:实现分布式锁以协调多个系统的并发操作。 MySQL适合场景 结构化数据:适用于关系型、事务性的结构化数据。 复杂查询:支持复杂的查询和连接操作。 大规模数据存储:适合大规模数据存储和管理。 强大事务:需要强大的事务支持和ACID特性。 Redis和MySQL有各自独特的优势和用途,它们并不是直接替代关系。Redis可以在某些情况下用来增强项目性能,或者作为辅助数据库来存储特定类型的数据,例如缓存、会话、排行榜等。然而,对于需要复杂查询、关联性和事务的应用,Redis并不是MySQL的替代品。对于大部分应用,两者可以共同使用,以发挥各自的优势,构建更高效的系统。 Redis基本命令 现在很多大公司的后端服务都是基础存储服务+Redis缓存的形式,使用Redis进行缓存很大程度上提高了服务的效率,当然也存在缓存穿透、缓存雪崩的问题,但是在此之前还是要从Redis的基础命令开始学习掌握,所以在这里整理了Redis常用的命令。 字符串 在Redis中,字符串可以存储以下3中类型的值:字节串(byte string),整数,浮点数。 自增自减命令 INCR key-name:将键存储的值加上1...

August 3, 2023 · 2 min · 309 words · sirius1y