非关系型数据库Redis(缓存型数据库)

news2024/11/25 7:27:58

关系型数据库和非关系型数据库的区别

关系型数据库

是一个结构化的数据库,记录方式是行(记录对象属性)和列(声明对象)

表与表之间是有关联的,使用sql语句来对指定的表、库进行增删改查

在创建表的时候,我们是设计好了表的结构。按照表结构来存储数据,数据与表结构不匹配,存储数据会失败

非关系型数据库(nosql   not only sql)

不需要定义库,也不需要定义表结构,直接记录即可,而且每条记录都可以有不同的数据类型、字段(字段个数)

redis key:value 键值对形式存储。每个键之间没有直接关联,库与库之间互相独立

区别

1、数据存储方式不同

2、扩展方式不同。性能上的提升

关系型数据库靠的是提升本机性能

非关系型数据库可以横向扩展,加入节点服务器的方式提高性能

3、对事物支持性不同

MySQL:原子性、隔离性、一致性、持久性

非关系型数据库redis也支持事物,但是稳定性和处理能力都不如关系型数据库

非关系型数据库的主要场景

1、操作的扩展

2、海量数据处理

web2.0核心特点:交互

纯动态网站的三高问题

1、对数据库高并发读写的需求

2、对海量数据高效存储与访问的需求

3、对数据库的高可扩展性与高可用性的需求

常见的需求场景

1、数据库缓存

2、web页面缓存

3、CPU和硬盘之间缓存

关系型数据库

库 ---- 表 ---- 行、列 ---- 存储数据

非关系型数据库

库 ---- 集合 ---- 键值对

(不需要手动的创建库和集合)

redis 开源的、使用C语言编写的nosql数据库

redis 基于内存运行,支持持久化(数据恢复)。采用的就是key-value(键值对)的存储形式。目前在分布式架构中非常重要的一环

redis服务器是单进程模式,即只有一个主进程工作。也就是说,在一台服务器上可以启动多个redis(端口号不能冲突)

redis的实际处理速度是完全依靠主进程的执行效率

服务器只部署了一个redis,多个客户端访问可能会导致redis处理能力下降

服务器部署多个redis进程,虽然能提高redis并发处理能力,但是会给服务器的CPU带来很大的压力

一般来说,一台服务器部署三个redis进程(根据情况来看。高并发要部署多个。一般情况单进程足矣)

redis特点

1、具有极高的读写速度,数据读取每秒110000次,写入数据每秒可以执行81000次

2、支持丰富的数据类型

3、支持持久化。平常的数据都是保存在内存中,持久化可以写入到磁盘中,既可以保存到本地,也可以实现备份。

4、原子性,所有的操作都是原子性

5、支持主从模式 master-slave模式

面试:redis为什么这么快?

答:①redis是纯内存结构,避免了磁盘I/O的耗时; ②核心模块是一个单进程,减少了线程切换和收回线程的时间; ③I/O的多路复用机制(每个执行线路都可以同时执行读和写,大大提高并发的效率);

*特殊说明:redis的读写仍然是单进程处理

redis服务控制命令

/etc/init.d/redis_6379 +stop start restart status

redis的命令工具

redis-server  直接启动redis(只能启动)

redis-benchmark  检测redis再本机运行的效果

redis-cli  命令行工具

redis-check-aof  检测aof持久性是否正常

redis-check-rdb  检测rdb持久性是否正常

redis-benchmark -h  指定服务器的主机名、IP地址

redis-benchmark -p  指定服务器的端口号

redis-benchmark -c  指定并发连接数

redis-benchmark -n  指定请求数

如何进入redis

redis-cli -h 192.168.233.10 -p 6379  远程登录还是需要指定目标服务器的IP地址

redis-cli  仅限于本地

redis cli -h 192.168.233.10 -p 6379

-h 指定IP地址

-p 指定端口号

a 指定登录密码

redis的五大数据类型

1、string (字符串) 也是redis最基本类型,最大能存储512MB的数据,可以存储任何数据(包括但不限于:数字、文字、图片等)

2、list数据类型

列表当中的元素还是string类型

3、hash类型

hash类型用于存储对象,采用hash格式进行操作。hash占用的磁盘空间少,而且一个hash存储4294967295个键值对

4、set数据类型(无序集合)

元素类型也是string。列表里的元素是唯一的,不可以重复。多个集合之间可以进行并集、交集、差集的运算

set当中的元系类型是唯一的,可以跟踪一些唯一性的数据。访问微博的用户名。只要把对应的名称写入redis,set集合可以自动保存,唯一性,方便下次访问

5、有序集合

有序集合元素类型也是string,元素也不能重复,唯一。每个元素都会关联一个double(小数点)的分数(score,表示权重),可以通过权重的大小进行排序。元素的权重可以相同

zset

在线积分的排行榜,可以实时更新用户的分数。zrange命令获取积分top10的用户。zrank命令通过username获取玩家的排行信息

redis其他数据类型

位图(BitMap)

存储位数据,可以进行位级别的操作。

常用命令:SETBIT、GETBIT、BITCOUNT。

HyperLogLog

用于基数估算的数据结构。

常用命令:PFADD、PFCOUNT。

地理位置(GeoSpatial)

存储地理位置信息。

常用命令:GEOADD、GEODIST、GEORADIUS

ZCOUNT myzset 1 3  表示权重1<= scroe <=3

set和hset 创建普通类型和hash类型,一般情况下,如无特殊需求,普通的创建方式即可;对一个键进行多字段存储,节省内存,使用hash方式

DBSIZE  查看当前库键的数量

redis的库(库都是创建好的,16个库)

按照数字排名:0-15 互相独立

redis特点

1、读写速度快

2、数据类型(①string;②list;③hash对一个键进行多字段操作要用hash节省内存空间;④无序集合set:元素不能重复,可以用来定义唯一值;⑤有序集合zset:元素不能重复,但是权重可以相同,用来排名 )

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1229741.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

尽快调整心态,切莫自讨苦吃

退休多年的老龄人的本“人民体验官”闲得无聊&#xff0c;怕被闲出更多病痛&#xff0c;更怕被闲死&#xff0c;所以天天上网坚持职业新闻人的老习惯——上网读新闻&#xff0c;并以一孔之见置评&#xff0c;旨在抛砖引玉。 11月8日&#xff0c;本“人民体验官 ”在推广人民日…

从矿源到指尖——周大福天然钻石的非凡实力

&#xff08;2023年11月20日&#xff0c;北京&#xff09;在近百年历程中&#xff0c;周大福珠宝集团一直致力珠宝工艺传承与创新设计的孕育&#xff0c;于1929年创立周大福品牌&#xff0c;凭借对中国传统黄金工艺的传承与创新、对中国传统文化的融合与发扬&#xff0c;将黄金…

技术岗位竞业协议规避的坑

​ 前言 技术岗位竞业协议指员工在离开公司后&#xff0c;不能在指定期限内从事与公司业务有竞争关系的工作。 有的公司在入职的时候签订&#xff0c;有的在离职的时候签订&#xff08;更有的公司在工作中途补签&#xff09;&#xff0c;但是要记住&#xff0c;签了就生效了…

kettle创建数据库资源库kettle repository manager

数据库资源库是将作业和转换相关的信息存储在数据库中&#xff0c;执行的时候直接去数据库读取信息&#xff0c;很容易跨平台使用。 创建数据库资源库&#xff0c;如图 1.点击Connect 2.点击Repository Manager 3.点击Other Repository 4.点击Database Repository 在选择Ot…

控制原理 | PID控制的三个参数如何影响控制效果?(附参数整定方法)

目录 0 专栏介绍1 PID控制基本原理2 比例控制的作用3 积分控制的作用4 微分控制的作用5 参数整定方法5.1 经验法5.2 临界比例度法5.3 衰减曲线法 0 专栏介绍 &#x1f525;附C/Python/Matlab全套代码&#x1f525;课程设计、毕业设计、创新竞赛必备&#xff01;详细介绍全局规…

面试题c/c++--语言基础

一 、语言基础 1.1 指针 野指针&#xff1a;指针指向的位置是不可知的 悬空指针&#xff1a;指针最初指向的内存已经被释放了的一种指针 两种指针都指向无效内存空间&#xff0c; 即不安全不可控 。需要在定义指针后且在使用之前完成初始化或者使用 智能指针来避免 智能指针 智…

10个Logo设计资源网站,绝对值得你收藏!

看似简单的标志背后的设计过程一点也不简单。优秀的标志个性鲜明&#xff0c;视觉冲击力强&#xff0c;易于识别和记忆。小标志使品牌的理念和形象一目了然地传达给消费者&#xff0c;使消费者产生良好的品牌联想&#xff0c;从而引导和促进消费。 在设计LOGO时&#xff0c;我…

Linux mmap 的作用是什么?

文章目录 1.简介2.相关函数3.mmap和常规文件操作的区别4.作用参考文献 1.简介 mmap&#xff08;memory map&#xff09;即内存映射&#xff0c;用于将一个文件或其它对象映射到进程的地址空间。 2.相关函数 创建映射函数&#xff1a; #include <sys/mman.h>void *mm…

跨境出海人必备的营销指南:海外各大社交媒体的对比

随着全球数字化的加速&#xff0c;社交媒体已经成为人们交流、分享、获取信息的主要渠道。根据最新的全球数字报告 “DIGITAL 2022: GLOBAL OVERVIEW REPORT”显示&#xff0c;截至2022年&#xff0c;全球有46.2亿社交媒体用户&#xff0c;这个数字相当于世界总人口的58.4%。这…

《YOLOv8-seg改进》专栏指导书册 手把手创新教程

&#x1f680;&#x1f680;&#x1f680;YOLOv8-seg创新专栏&#xff1a;https://blog.csdn.net/cv_20231007/category_12490532.html?spm1001.2014.3001.5482 学姐带你学习YOLOv8&#xff0c;从入门到创新&#xff0c;轻轻松松搞定科研&#xff1b; 1&#xff09;手把手教你…

【EI会议征稿】2024年电气技术与自动化工程国际学术会议 (ETAE 2024)

2024年电气技术与自动化工程国际学术会议 (ETAE 2024) 2024 International Conference on Electrical Technology and Automation Engineering 2024年电气技术与自动化工程国际学术会议 (ETAE 2024) 将于2024年3月8-10日在中国杭州召开。电气工程及其自动化和人们的日常生活…

打破传统束缚,释放服务潜能:本地生活服务商聚合系统引领行业新风向!

本地生活服务商聚合系统是一种集合多平台、多项目的创新型服务系统&#xff0c;它打破了传统服务商系统的一对一限制&#xff0c;为创业者和运营商带来了诸多优势。小多将深入探讨本地生活服务商聚合系统的优势。 随着互联网的快速发展&#xff0c;本地生活服务也迎来了蓬勃的发…

Windows RS485\USB转换接头,连接modbus温度传感器接线方法

文章目录 背景接线方式安装RS485\USB转换接头的驱动程序查看COM口号&#xff08;Communication Port&#xff08;通讯端口&#xff09;&#xff09;测试modbus数据传输 背景 买了个rs485 modbus协议的温度传感器&#xff0c;因为想接到windows上&#xff0c;用传感器厂家提供的…

浅谈无线测温产品在菲律宾某工厂配电项目的应用

摘要&#xff1a;配电系统是由多种配电设备和配电设施所组成的变换电压和直接向终端用户分配电能的一个电力网络系统。由于配电系统作为电力系统的一个环节直接面向终端用户&#xff0c;它的完善与否直接关系着广大用户的用电可靠性和用电质量&#xff0c;因而在电力系统中具有…

元宇宙外科手术vrar仿真实验室平台提高了培训效率和安全性

在科研与教育的领域中&#xff0c;实验室的作用举足轻重。然而&#xff0c;传统实验室受限于时间、空间、资源等因素&#xff0c;难以满足日益增长的科研与教育需求。在这一背景下&#xff0c;3D元宇宙仿真实验室应运而生&#xff0c;以其独特的优势&#xff0c;成为科研与教育…

无菌药品生产(A级区域)--气流流型测试可视化烟雾试验详细介绍

技术背景 无菌药品是指法定药品标准中列有无菌检测项目的制剂和原料药&#xff0c;包括注射剂、眼用制剂、无菌软膏剂、无菌混悬剂等。目前工程中&#xff0c;以注射剂产品为主的厂房占据了很大的比重。 无菌药品生产质量风险管理中&#xff0c;人员及其活动被视为重大的污染…

工程项目立项需要做哪些准备?

工程项目立项是一个复杂的过程&#xff0c;需要进行多方面的准备工作。这些准备工作对于项目的顺利进行至关重要&#xff0c;下面将详细介绍工程项目立项需要做哪些准备。 一、项目前期调研 在进行工程项目立项之前&#xff0c;需要进行充分的前期调研。这个阶段的主要目的是了…

【数据结构】——双链表(增删查改)

目录 前言&#xff1a; 一&#xff1a;双链表的定义 ​编辑 二&#xff1a;双向链表的实现 2.1&#xff1a;链表的构造 2.2&#xff1a;创建头节点 2.3&#xff1a;创建节点 2.4&#xff1a;链表的尾插 2.5&#xff1a;链表的打印 2.6&#xff1a;链表的尾删 2.7&a…

Abaqus 2022x新功能介绍第二弹

Abaqus 非线性力学的功能增强&#xff08;材料更新&#xff09; Valanis-Landel 超弹性材料 通过指定单轴试验数据和可选的体积试验数据&#xff08;v2022新增选项&#xff09;来定义Valanis-Landel 超弹性模型&#xff0c;该模型能精确地复现给定的数据&#xff0c;类似Marl…

在Ubuntu系统中安装VNC并结合内网穿透实现公网远程访问

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…