Redis和MongoDB是两种不同类型的数据库,它们在数据存储和查询方式、数据模型以及适用场景等方面有一些明显的区别。 下面是Redis和MongoDB之间的一些比较: 数据模型: Redis:Redis是一个键值存储系统,支持多种数据结构如字符串、哈希、列表、集合和有序集合。 数据以键值对的形式存储,可以通过键快速访问数据。 Redis适合用于缓存、会话存储和快速查询等场景。 MongoDB:MongoDB是一个面向文档的数据库,数据以类似JSON的BSON文档格式存储。
下载源码(3.12.4官网)tar
tar -zxvf压缩文件名
再解压后的目录中找到configure可执行文件
/root/python3.12.4/confgiure -prefix=/use/local/py3214 //配置安装路径
make && make install //进入目录并进行编译安装
make install
运行指令: ./python3.12,进入Python环境
编写vim /etc/profile文件,配置环境变量
export PYTHON_HOME=/root/training/Python-3.6.5
export PATH=/usr/local/py3124:$PATH
[root@localhost~]# yum list|grep python3 //下载软件包
[root@localhost~]# rz -E
[root@localhost~]# ls
[root@localhost~]# cd Python-3.12.4/
[root@localhost~]# cd Python-3.12.4/
[root@localhost~]# tar zxvf Python-3.12.4.tgz
[root@localhost~]# ls
[root@localhost~]# cd Python-3.12.4
[root@localhost~]# ls
[root@localhost~]# ./configure -prefix=/usr/local/python3214
[root@localhost~]# make && make install
[root@localhost~]# ls bin/
[root@localhost~]# cd /usr/local/python3214/
[root@localhost~]# ls bin/
[root@localhost~]# whereis python
[root@localhost~]# cd bin/
[root@localhost~]# ./python3.12
[root@localhost bin]# vi /etc/profile
[root@localhost bin]# source /etc/profile
[root@localhost bin]# python3.12
基础配置
[root@localhost ~]# hostnamectl set-hostname haha //修改用户名
测试网络连接
非关系型数据库将所有的数据都保存在内存中
关系型数据库保存在磁盘里(快)
安装和运行redis和mongodb,并且会简单的增删改查
安装redis软件包
[root@localhost~]# rz -E //下载安装包
[root@localhost ~]# tar -zxvf redis-6.2.14.tar.gz //解压redis安装包
[root@localhost src]# cd redis-6.2.14 //切换到redis-6.2.14目录下将进行编译
[root@localhost redis-6.2.14 ]# make
[root@localhost redis-6.2.14]# cd src/ //切换到src文件下
[root@localhost src]# ./redis-server //启动redis服务 如下图表示安装成功
安装mongodb
[root@localhost ~]# mkdir /usr/local/mongodb
[root@localhost ~]# cd /usr/local/mongo
[root@localhost ~]# cd /usr/local/mongodb
[root@localhost mongodb]# rz -E
[root@localhost mongodb]# tar -zxvf mongodb-linux-x86_64-rhel70-3.6.3.tgz
[root@localhost mongodb]# cp -r mongodb-linux-x86_64-rhel70-3.6.3/bin /usr/local/mongodb/
[root@localhost mongodb]# cd /usr/local/mongodb
[root@localhost mongodb]# mkdir etc
[root@localhost mongodb]# mkdir log
[root@localhost mongodb]# mkdir -p data/db
[root@localhost mongodb]# vi /usr/local/mongodb/etc/mongodb.conf
[root@localhost mongodb]# mongod -f /usr/local/mongodb/etc/mongodb.conf
配置节点信息
在任意一台主机连接mongod服务,执行如下操作
[root@localhost bin]# mongo --host 192.168.4.61
> rs.conf()
>config = { _id:"rs1",
members:[
{_id:0,host:"192.168.1.17:27017"},
{_id:1,host:"192.168.1.19:27017"},
{_id:2,host:"192.168.1.20:27017"},
] };
初始化Replica Sets环境(启用集群)
>rs.initiate(config)
查看副本集信息
rs1:SECONDARY> rs.status() //查看是主还是从
查看是否是master库
> rs .isMaster( )
"ismaster" : true, //是主
从的机器在查看下
#mongo --host 192.168.1.19
> rs .isMaster( )
验证是够能够查看主的数据
rs1:PRIMARY> use db1
rs1:PRIMARY> db.c1.save({name:"g",age:19})
rs1:PRIMARY> db.c1.find()
rs1:SECONDARY> use db1
rs1:SECONDARY> show tables
验证副本集配置(在两台从库上)
同步数据验证
rs1:SECONDARY>db.getMongo().setSlaveOk() (允许从库查看数据(默认从库不让查看)
rs1:SECONDARY> db.c1.find()
自动切换主库验证(测试高可用)
先把主库服务暂停
51 mongodb]# netstat -antpu | grep mongod
mongodb]# kill -9 1347
52 > rs.isMaster() 查看是否是主库
53 > rs.isMaster() 查看是否是主库
测试当51恢复后是否会同步52的数据
rs1:PRIMARY> use db1
switched to db db1
rs1:PRIMARY> db.t1.save({name:"ada"})
WriteResult({ "nInserted" : 1 })
在另一台主机输入
rs1:SECONDARY> db.getMongo().setSlaveOk()
rs1:SECONDARY> use db1
rs1:SECONDARY> db.t1.find()
51启动服务
# mongod -f /usr/local/mongodb/etc/mongodb.conf
rs1:SECONDARY> rs .isMaster( )
rs1:SECONDARY> db.getMongo().setSlaveOk()
rs1:SECONDARY> use db1
rs1:SECONDARY> db.t1.find