目录
1.关系数据库和非关系数据库
1.1关系型数据库
1.2非关系型数据库
2二者的区别
2.1数据存储方式不同:
2.2扩展方式不同:
2.3对事务性的支持不同:
2.4数据流向
3.非关系型数据库产生背景
4.什么是redis
4.1redis优点
4.2为什么redis速度快
5操作相关
5.1部署redis
编辑
编辑
编辑
5.2常用命令
数据库一般分为关系数据库和非关系数据库。
一个结构化的数据库,创建在关系模型基础上,一般面向于记录,包括Oracle、MySQL、SQL Server、Microsoft Access、DB2、postgreSQL等。
除了主流的关系型数据库外的数据库,都认为是非关系型,包括 Redis、MongBD、Hbase、 CouhDB等。
系型数据天然就是表格式的,非关系型数据通常存储在数据集中,就像文档、键值对或者图结构。
关系:纵向 提高处理能力,使用速度更快速的计算机,这样处理相同的数据集就更快了。
非关系:横向,通过给资源池添加更多普通的数据库服务器(节点)来分担负载。
如果数据操作需要高事务性或者复杂数据查询需要控制执行计划,关系数据库支持对事务原子性细粒度控制,并且易于回滚事务。
非关系数据库稳定性方面没法和关系型数据库比较,它的价值是在操作的扩展性和大数据量处理方面。
非关系数据库
实例--》数据库---》集合---》键值对
非关系数据库不需要手动建数据库和集合 (表)
关系型数据库
实例--》数据库--》 (table)--》记录行 (row)/数据字段 (clumn)--》存储数据硬盘
可用于应对 Web2.0 纯动态网站类型的三高问题。
(1)High performance——对数据库高并发读写需求。
(2)Huge Storage——对海量数据高效存储与访问需求。
(3)High Scalability && High Availability——对数据库高可扩展性与高可用性需求。
Redis(远程字典服务器) 是一个开源的、使用 C 语言编写的 NoSQL 数据库。
Redis 基于内存运行并支持持久化,采用key-value(键值对)的存储形式,是目前分布式架构中不可或缺的一环。
1、具有极高的数据读写速度
2、支持丰富的数据类型
3、支持数据的持久化
4、操作方式原子性
5、支持数据备份
1、Redis是一款纯内存结构,避免了磁盘I/o等耗时操作。
2、Redis命令处理的核心模块为单线程。
3、采用了 I/O 多路复用机制,提升了并发效率。
systemctl stop firewalld
setenforce 0
yum install -y gcc gcc-c++ make 安装环境
tar zxvf redis-5.0.7.tar.gz -C /opt/
cd /opt/redis-5.0.7/
make
make PREFIX=/usr/local/redis install 安装redis
cd /opt/redis-5.0.7/utils
./install_server.sh
到Please select the redis executable path时进行修改
改为:/usr/local/redis/bin/redis-server
ln -s /usr/local/redis/bin/* /usr/local/bin/ 创建软连接
/etc/init.d/redis_6379 restart
redis-cli -h host p port -a password 登录redis
-h: 指定远程主机
-p:指定 Redis 服务的端口号
-a:指定密码,未设置数据库密码可以省略
-h:指定服务器主机名
-p:指定服务器端口
-S:指定服务器 socket
-C:指定并发连接数
-n:指定请求数
keys *:查看所有的key
keys v*:查看所有以v开头的key
?:表示单个字符 keys v? 表示查询v开头的后面跟着单个字符
exists:判断键是否存在 exists 键名
del:删除键 del 键名 【删除当前键】
type:查看键中值的数据类型 type 键名
rename:对已有的key进行重命名(覆盖)
renamenx:对已有的key进行重命名(不覆盖)
dbsize:查看当前数据库中 key 的数目
move:迁移 move aaa 1 将aaa迁移到1数据库中
select 1:切换到1数据库
flushdb:删除当前key的数据
flushall:删除所有key