Redis 01: 非关系型数据库 + 配置Redis
数据库应用的发展历程
单机数据库时代:一个应用,一个数据库实例
缓存时代:对某些表中的数据访问频繁,则对这些数据设置缓存(此时数据库中总的数据量不是很大)
水平切分时代:将数据库中的表存放到不同数据库实例中(单张表中存放的数据太多),一个应用可以对应多个数据库实例
垂直切分时代:将一个表按照字段拆分,同一张表中的数据存放到不同表,甚至于不同数据库中(因为此时一个表中的一个字段的数据量已经很大)
读写分离时代:有的数据库负责接收查询命令,有的数据库负责接收数据导入,数据修改等请求,将读写请求分离开,缓解数据库压力
分表分库时代(集群):一个表中的数据分成多表或者多库存储,要查询哪个阶段的数据就去查询对应阶段的数据库
关系型数据库:oracle、mysql、DB2、sqlserver...
非关系型数据库(NoSql): 彻底改变底层存储机制。不再采用关系数据模型,而是采用聚合数据结构存储数据。redis、mongoDB、HBase...
关系型与非关系型数据库的表结构对比
关系型
tbl_student tbl_clazz
id name age clazz_id id name
1001 zhangsan 20 111 111 clazz1
1002 lisi 21 111 222 clazz2
非关系型
{
id:1001,
name:zhangsan,
age:20,
clazz:{
id:111,
name:clazz1
}
} {
id:1002,
name:lisi,
age:21,
clazz:{
id:111,
name:clazz1
}
}
非关系型数据库的表结构特点
采用聚合模型存储数据
把一组相关联的数据作为一个整体进行存储和管理。将BSON数据保存到键值对中、数据和数据之间逗号隔开,{}表示对象,[]表示数组。
关于BSON数据格式
其中BSON指:一种计算机数据交换格式,主要被用作MongoDB数据库中的数据存储和网络传输格式。它是一种二进制表示形式,能用来表示简单数据结构、关联数组(MongoDB中称为“对象”或“文档”)以及MongoDB中的各种数据类型。BSON之名缘于JSON,含义为Binary JSON(二进制JSON)
可采用K-V键值对、列簇、图表模型等存储数据。
Redis简介
- Redis是一种数据库。能够存储数据、管理数据的一种软件。
- Redis是一个用C语言编写的、开源的、基于内存运行并支持持久化的、高性能的NoSQL(not only sql)数据库.也是当前热门的NoSQL数据库之一。
- Redis中的数据大部分时间都是存储内存中的,适合存储频繁访问、数据量比较小的数据,是一种缓存数据库
- Redis采用的是K-V模型存储数据的。
Redis特点
1、支持数据持久化
Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
2、支持多种数据结构
Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
3、支持数据备份
Redis支持数据的备份,即master-slave模式的数据备份。
linux环境下配置Redis
官网:https://redis.io/download/ 下载redis的tar包
上传到linux服务器(笔者使用的是Centos7):这里使用的是git工具上传压缩包,服务器的ip地址被我涂去了
在linux服务器端的对应目录下解压刚刚上传的压缩包
确保已经安装了gcc,redis是c语言写的,要手动编译
yum -y install gcc
进入解压好的目录
cd ./redis-5.0.2
执行:make命令, 成功编译结果如下,编译过程会输出较多内容,所用时间也许较长,请保持淡定
make
接着执行:make install命令
make install 该操作则将 src下的许多可执行文件复制到/usr/local/bin 目录下(该目录已经被默认配置到系统环境变量中),这样做可以在任意目录执行redis的软件的命令(例如启动,停止,客户端连接服务器等)
后台启动redis,检查配置是否成功,当启动信息输出后,回车,便可以回到命令行,此时redis服务已经启动并转到后台运行
默认(redis服务启动在默认IP地址以及默认端口)客户端连接已经启动的redis服务:redis-cli
退出客户端连接:exit或者quit
关闭redis服务:redis-cli shutdown
启动redis服务以及连接redis服务的方式总结
1、启动redis服务:
1)前台启动:在任何目录下执行 redis-server
2)后台启动:在任何目录下执行 redis-server &
3)启动redis服务时,指定配置文件:redis-server redis.conf &
2、关闭redis服务:
1)、通过kill命令:
ps -ef|grep redis查看pid
kill -9 pid
2)、通过redis-cli命令关闭:
redis-cli shutdown
3、redis的客户端:用来连接redis服务,向redis服务端发送命令,并且显示redis服务处理结果。
redis-cli:是redis自带客户端,使用命令redis-cli就可以启动redis的客户端程序。
redis-cli:默认连接127.0.0.1(本机)的6379端口上的redis服务。
redis-cli -p 端口号:连接127.0.0.1(本机)的指定端口上的redis服务。
redis-cli -h ip地址 -p 端口:连接指定ip主机上的指定端口的redis服务。
4、退出客户端:在客户端执行命令:exit或者quit
Redis 01: 非关系型数据库 + 配置Redis的更多相关文章
- 非关系型数据库之Redis
一.Redis简介 REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统. Redis是一个开源的使用 ...
- 非关系型数据库(NOSQL)-Redis
整理一波Redis 简介,与memcached比较 官网:http://redis.io Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括 ...
- 【Redis】(1)-- 关系型数据库与非关系型数据库
关系型数据库与非关系型数据库 2019-07-02 16:34:48 by冲冲 1. 关系型数据库 1.1 概念 关系型数据库,是指采用了关系模型来组织数据的数据库.关系模型指的就是二维表格模型, ...
- Redis非关系型数据库
1.简介 Redis是一个基于内存的Key-Value非关系型数据库,由C语言进行编写. Redis一般作为分布式缓存框架.分布式下的SESSION分离.分布式锁的实现等等. Redis速度快的原因: ...
- 数据库基础 非关系型数据库 MongoDB 和 redis
数据库基础 非关系型数据库 MongoDB 和 redis 1 NoSQL简介 访问量增加,频繁的读写 直接访问(硬盘)物理级别的数据,会很慢 ,关系型数据库的压力会很大 所以,需要内存级的读写操作, ...
- JavaWeb笔记(十)非关系型数据库Redis
Redis Redis是一款高性能的NOSQL系列的非关系型数据库 主流的NOSQL产品 键值(Key-Value)存储数据库 相关产品: Tokyo Cabinet/Tyrant.Redis.Vol ...
- 非关系型数据库--redis
0.1 新单词 expire 美 /ɪk'spaɪɚ/ 到期 range 美 /rendʒ/ 范围 idle美 /'aɪdl/ 闲置的 0.2 面试题:mysql和redis和memcached区别? ...
- python 之操作redis数据库(非关系型数据库,k-v)
数据库: 1. 关系型数据库 表结构 2. 非关系型数据库 nosql (k - v 速度快),常用的时以下三种: memcache 存在内存里 redis 存在内存里 mangodb 数据还是存在磁 ...
- Java Redis系列1 关系型数据库与非关系型数据库的优缺点及概念
Java Redis系列1 关系型数据库与非关系型数据库的优缺点及概念 在学习redis之前我们先来学习两个概念,即什么是关系型数据库什么是非关系型数据库,二者的区别是什么,二者的关系又是什么? ** ...
随机推荐
- 游戏开发常遇到数据一致性BUG,怎么解?
摘要:数据副本强一致.全节点可写.存储全面降本,GaussDB(for Redis)重新定义游戏数据库,彻底修复一致性BUG. 本文分享自华为云社区<华为云GaussDB(for Redis)揭 ...
- java-修饰词、抽象类、抽象方法
1.final:最终的.不可改变的------单独应用的机率小 1)修饰变量:变量不能被改变 2)修饰方法:方法不能被重写 3)修饰类:类不能被继承 2.static final:常量,应用率高 1) ...
- 60行自己动手写LockSupport是什么体验?
60行自己动手写LockSupport是什么体验? 前言 在JDK当中给我们提供的各种并发工具当中,比如ReentrantLock等等工具的内部实现,经常会使用到一个工具,这个工具就是LockSupp ...
- Taurus.MVC 微服务框架 入门开发教程:项目集成:1、服务端:注册中心、网关(提供可运行程序下载)。
系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...
- Chapter 09 - NSUndoManager (C#实现 + 全网原创)
此例子针对NSDocument实现了tableview 每一行添加/删除的undo/redo,以及每一个单元格内容编辑的undo/redo.基于NSDocument类的实现.PersonModel + ...
- 设置 Git 用户名和邮箱
安装完 Git 之后,要做的第一件事就是设置你的用户名和邮件地址.因为每一个提交都会使用这些信息,如果你不完善它们,在 GitHub 远程仓库里很有可能没有你的贡献统计. 以下操作需要你打开 Git ...
- Spring 04: IOC控制反转 + DI依赖注入
Spring中的IOC 一种思想,两种实现方式 IOC (Inversion of Control):控制反转,是一种概念和思想,指由Spring容器完成对象创建和依赖注入 核心业务:(a)对象的创建 ...
- 聊天机器人框架Rasa资源整理
Rasa是一个主流的构建对话机器人的开源框架,它的优点是几乎覆盖了对话系统的所有功能,并且每个模块都有很好的可扩展性.参考文献收集了一些Rasa相关的开源项目和优质文章. 一.Rasa介绍 1.R ...
- 04_Django-模板变量/标签/过滤器/继承-url反向解析
04_Django-模板变量/标签/过滤器/继承-url反向解析 视频:https://www.bilibili.com/video/BV1vK4y1o7jH 博客:https://blog.csdn ...
- Oracle_FDW 使用介绍
本文以例子的形式介绍 KingbaseES(Postgresql)数据库如何通过 oracle_fdw 扩展访问Oracle数据库.以下例子在PG12.3 与 KingbaseES V8R6进行过实际 ...