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之前我们先来学习两个概念,即什么是关系型数据库什么是非关系型数据库,二者的区别是什么,二者的关系又是什么? ** ...
随机推荐
- ASP.NET Core 6框架揭秘实例演示[34]:缓存整个响应内容
我们利用ASP.NET开发的大部分API都是为了对外提供资源,对于不易变化的资源内容,针对某个维度对其实施缓存可以很好地提供应用的性能.<内存缓存与分布式缓存的使用>介绍的两种缓存框架(本 ...
- 【IDEA】IDEA打开欢迎页面
概述 IDEA在默认情况下,会进入最后一个项目.如果项目比较大的话会加载的比较久,这个就比较烦人了,目前我觉得最好的办法就是在设置中直接进入欢迎页面. 解决方案 ① 进入设置 ② Appearance ...
- 分布式协同AI基准测试项目Ianvs:工业场景提升5倍研发效率
摘要:全场景可扩展的分布式协同AI基准测试项目 Ianvs(雅努斯),能为算法及服务开发者提供全面开发套件支持,以研发.衡量和优化分布式协同AI系统. 本文分享自华为云社区<KubeEdge|分 ...
- 新零售SaaS架构:商品系统架构设计
SaaS产品就像一座冰山,冰山以上的部分是功能.数据(可见部分).用户界面,冰山以下是系统架构.完整的数据模型.开放体系.非功能性需求(扩展性.可维护性.性能.安全等). 短期内想要快速上线产品,可能 ...
- KingbaseES insert all/first 功能介绍
KingbaseES 内置了对于insert all / first 语法的支持. 一.数据准备 create table t1(product_id number, product_name var ...
- Bypass Windows Defender Dump Lsass(手法拙劣)
0x00.前言 Windows Defender是一款内置在Windows操作系统的杀毒软件程序,本文旨在记录实战环境中,服务器存在Windows Defender情况下转储凭证的渗透手法,技术简单粗 ...
- 004-GoingDeeperConvolutions2014(googLeNet)
Going Deeper with Convolutions #paper 1. paper-info 1.1 Metadata Author:: [[Christian Szegedy]], [[W ...
- Redis变慢?深入浅出Redis性能诊断系列文章(二)
(本文首发于"数据库架构师"公号,订阅"数据库架构师"公号,一起学习数据库技术) 本篇为Redis性能问题诊断系列的第二篇,本文主要从应用发起的典型命令使用上进 ...
- Kubernetes DevOps: Tekton
Tekton 是一款功能非常强大而灵活的 CI/CD 开源的云原生框架.Tekton 的前身是 Knative 项目的 build-pipeline 项目,这个项目是为了给 build 模块增加 pi ...
- 使用容器运行的minio配置https(TLS)访问
使用certgen生成证书 下载地址:https://github.com/minio/certgen/releases/tag/v0.0.2 下载地址:https://files.cnblogs.c ...