当前位置: 首页 > news >正文

Redis快速入门(一)

一、初识Redis

1、认识NoSQL

NoSql可以翻译做Not Only Sql(不仅仅是SQL),或者是No Sql(非Sql的)数据库。是相对于传统关系型数据库而言,有很大差异的一种特殊的数据库,因此也称之为非关系型数据库
  a)结构化与非结构化
  传统关系型数据库是结构化数据,每一张表都有严格的约束信息:字段名.字段数据类型.字段约束等等信息,插入的数据必须遵守这些约束。
  而NoSql则对数据库格式没有严格约束,往往形式松散,自由,可以是键值型,也可以是文档型,甚至可以是图格式。
  b)关联和非关联
  传统数据库的表与表之间往往存在关联,而非关系型数据库不存在关联关系,要维护关系要么靠代码中的业务逻辑,要么靠数据之间的耦合。
  c)查询方式
  传统关系型数据库会基于Sql语句做查询,语法有统一标准;不同的非关系数据库查询语法差异极大,五花八门各种各样。
  d)事务
  传统关系型数据库能满足事务ACID的原则。
  而非关系型数据库往往不支持事务,或者不能严格保证ACID的特性,只能实现基本的一致性。
  e)除了上述四点以外,在存储方式.扩展性.查询性能上关系型与非关系型也都有着显著差异,总结如下:

  • 存储方式
    • 关系型数据库基于磁盘进行存储,会有大量的磁盘IO,对性能有一定影响
    • 非关系型数据库,他们的操作更多的是依赖于内存来操作,内存的读写速度会非常快,性能自然会好一些
  • 扩展性
    • 关系型数据库集群模式一般是主从,主从数据一致,起到数据备份的作用,称为垂直扩展。
    • 非关系型数据库可以将数据拆分,存储在不同机器上,可以保存海量数据,解决内存大小有限的问题。称为水平扩展。
    • 关系型数据库因为表之间存在关联关系,如果做水平扩展会给数据查询带来很多麻烦

2、认识Redis

Redis诞生于2009年全称是Remote Dictionary Server 远程词典服务器,是一个基于内存的键值型NoSQL数据库。

特征

  • 键值(key-value)型,value支持多种不同数据结构,功能丰富
  • 单线程,每个命令具备原子性
  • 低延迟,速度快(基于内存.IO多路复用.良好的编码)。
  • 支持数据持久化
  • 支持主从集群.分片集群
  • 支持多语言客户端

作者

相关文章:

  • Spring Boot中如何实现全链路调用日志跟踪?
  • 2.axios(发送get和post请求)
  • git学习笔记(总结了常见命令与学习中遇到的问题和解决方法)
  • 算法:二维数组打印问题
  • HDU1032——The 3n + 1 problem,HDU1033——Edge,HDU1034——Candy Sharing Game
  • nginx的配置和使用
  • ubuntu20.04使用systemd服务设置python程序开机自启动
  • [笔记]ONVIF服务端实现[进行中...]
  • 1.Spring Boot 简介(Spring MVC+Mybatis-plus)
  • oracle 查询锁表
  • JS 鼠标拖动实现移动滚动条的滚动效果
  • pageoffice常见问题处理
  • 算法 —— 暴力枚举
  • Godot入门 04平台设计
  • UE4-构建光照后导入的静态网格体变黑
  • 【node学习】协程
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • ES6 ...操作符
  • iOS | NSProxy
  • Java 23种设计模式 之单例模式 7种实现方式
  • Java 内存分配及垃圾回收机制初探
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • java多线程
  • MQ框架的比较
  • overflow: hidden IE7无效
  • SQLServer之创建显式事务
  • Vue 重置组件到初始状态
  • webpack4 一点通
  • 关于Java中分层中遇到的一些问题
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 聊聊directory traversal attack
  • 前端工程化(Gulp、Webpack)-webpack
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 如何在 Tornado 中实现 Middleware
  • 实现简单的正则表达式引擎
  • 使用API自动生成工具优化前端工作流
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 运行时添加log4j2的appender
  • AI算硅基生命吗,为什么?
  • 阿里云重庆大学大数据训练营落地分享
  • 树莓派用上kodexplorer也能玩成私有网盘
  • 整理一些计算机基础知识!
  • ​​​​​​​STM32通过SPI硬件读写W25Q64
  • #13 yum、编译安装与sed命令的使用
  • #java学习笔记(面向对象)----(未完结)
  • (+4)2.2UML建模图
  • (层次遍历)104. 二叉树的最大深度
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (二十九)STL map容器(映射)与STL pair容器(值对)
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (附源码)spring boot智能服药提醒app 毕业设计 102151
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (实测可用)(3)Git的使用——RT Thread Stdio添加的软件包,github与gitee冲突造成无法上传文件到gitee
  • (四)Linux Shell编程——输入输出重定向
  • (贪心) LeetCode 45. 跳跃游戏 II