计算机网站建设及管理,麻将软件开发平台,东营网站建设费用,西安市建设干部学校网站一、NoSQL
SQL VS NoSQL
1、名称
SQL 主要是指关系数据库。NoSQL 主要是指非关系数据库。
2、存储结构
SQL 是结构化的数据库#xff0c;以表格的形式存储数据。NoSQL 是非结构化的数据库#xff0c;以Key-Value#xff08;Redis#xff09;#xff0c;JSON格式文档以表格的形式存储数据。NoSQL 是非结构化的数据库以Key-ValueRedisJSON格式文档MongoDB关系图Neo4j列类型HBase存储数据
3、数据之间的关联性
SQL 的数据表之间具有主键-外键关联性。NoSQL 的数据之间相互独立可以进行嵌套建立伪关联。
4、查询方式
SQL 的查询语法是固定的可以迁移到其它数据库进行查询。NoSQL 的查询语法不固定每种数据库都有自身的语法
5、事务支持
SQL 满足ACID原则原子性一致性隔离性持久性NoSQL 满足基本的事务原则但不完整
6、存储方式
SQL 存储在 磁盘NoSQL 存储在 内存
7、扩展性
SQL垂直 对分布式拆分不友好NoSQL水平 对分布式拆分友好
8、使用场景
SQL 数据结构固定相关业务对数据安全性、一致性要求高 NoSQL 数据结构不固定对一致性、安全性要求低对性能要求高 二、Redis
一介绍
Redis于意大利人 ANTIREZ 在2009年发布全称是 ReMote Dictionary Server 远程词典服务器是一款基于内存的键值对类型NoSQL数据库。
二特点
键值对型 value支持多种不同数据结构功能丰富单线程 每个命令具备原子性低延迟速度快 基于内存、IO多路复用、良好的编码底层是 C语言支持数据持久化 持久化到磁盘支持主从集群、分片集群 一种安全策略避免数据丢失支持多语言客户端 可以在多语言的开发中使用 三、安装Redis
一单机安装Redis
官方网站 https://redis.io/
1、安装Redis依赖
由于Rdis是基于 C 编写的所以我们需要安装 gcc 依赖。
yum install -y gcc tcl2、安装redis
方式一直接用Docker pull Redis镜像
docker pull redis:6.2.6方式二下载压缩包上传至虚拟机并解压即可
#解压完毕进入redis文件夹
cd redis-6.2.6#编译redis默认安装在 /usr/local/bin
make make install#运行redis
# redis-cliredis提供的命令行客户端
# redis-serverredis同的服务端启动脚本
# redis-sentinelredis的哨兵启动脚本3、启动
方式一docker运行方式
#不带密码的运行方式
docker run --name redis -p 6379:6379 -d redis:6.2.6#带有密码的运行方式
docker run -itd --name redis -p 6379:6379 redis --requirepass 123456方式二默认启动
redis-server方式三指定配置启动
1、修改配置文件 redis.conf
# 修改监听地址0.0.0.0 表示可以被任意IP访问
bind 0.0.0.0# 守护进程改为后台运行
daemonize yes# 设置密码
requirepass 123321其它配置
# 监听端口
port 6379#工作目录默认为当前目录即运行redis-server的命令日志持久化等文件存储的目录
dir .# 数据库数量设置为1表示只是用1个库默认有16个编号是0-15
databases 1# 设置redis能够访问使用的最大内存
maxmemory 512mb# 日志文件默认温控不记录日志可以指定日志文件名
logfile redis.log2、启动配置文件
redis-server redis.conf3、停止服务
# 使用redis-cli 执行 shutdown命令由于设置了密码需要通过 -u 指定密码进行操作授权
redis-cli -u 123321 shutdown方式四开机自启
redis本身没有关于改机自启的功能所以我们需要自己编写一个redis服务文件以提供可用命令。
#创建并浏览redis.service
vi /etc/systemd/system/redis.serviceredis.service
[Unit]
Descriptionredsi.server
Afternetwork.target[Service]
Typeforking
ExecStart/usr/local/bin/redis-server /usr/local/src/redis-6.2.6/redis.conf
PrivateTmptrue[Install]
WantedBymulti-usr.target重载系统服务并设置自启
#重载系统服务
systemctl daemon-reload#启动redis
systemctl start redis#设置自启redis
systemctl enable redis四、RedisClient
一客户端的类型
命令行客户端图形化客户端编程客户端
二客户端的使用
1、命令行客户端
#如果不指定指令时会直接进入redis控制台
redis-cli [options] [commonds]#常见options
# -h 127.0.0.1 指定连接redis节点的ip
# -p 6379 指定连接redis接口的端口
# -a 123321 指定redis的访问密码#常见commonds
# ping与redis做心跳测试服务端正常返回pong状态2、图形化客户端
图形化客户端是github的开源项目Redis图形化客户端源码
由于该开源项目并没有提供windows安装包所以我们可以采用另外一个开源项目是为这个开源项目提供Windows安装包Redis图形化客户端Windows
1解压缩后执行安装程序 2建立连接