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

Redis基础

文章目录

  • 一、认识NoSql
  • 二、认识Redis
  • 三、Redis常见命令
    • 3.1、Redis通用命令
    • 3.2、Redis通用命令

一、认识NoSql

  NoSql可以翻译做Not Only Sql(不仅仅是SQL),或者是No Sql(非Sql的)数据库。是相对于传统关系型数据库而言,有很大差异的一种特殊的数据库,因此也称之为非关系型数据库。下图是sql和NoSql的对比:

在这里插入图片描述

  • 结构化与非结构化:关系型数据库如MySQL、Oracle,使用之前需要确定数据类型和约束等,而非关系型数据库存储结构可以使键值型、文档型,甚至是图格形,使用前不需要定义。
  • 关联和非关联:关系型数据库的表之间,可以在数据库层面保持关联,比如用户表和订单表通过外键保持关联。而非关系型数据库不存在关联关系,要维护关系要么靠代码中的业务逻辑,要么靠数据之间的耦合。
  • 查询方式:传统关系型数据库会基于Sql语句做查询,语法有统一标准;而不同的非关系数据库查询语法差异极大,五花八门各种各样。
    在这里插入图片描述
  • 事务:传统关系型数据库能满足事务ACID的原则。而非关系型数据库往往不支持事务,或者不能严格保证ACID的特性,只能实现基本的一致性。
  • 存储方式:关系型数据库基于磁盘进行存储,会有大量的磁盘IO,对性能有一定影响。非关系型数据库,他们的操作更多的是依赖于内存来操作,内存的读写速度会非常快,性能自然会好一些。
  • 扩展性:关系型数据库集群模式一般是主从,主从数据一致,起到数据备份的作用,称为垂直扩展。非关系型数据库可以将数据拆分,存储在不同机器上,可以保存海量数据,解决内存大小有限的问题,称为水平扩展。关系型数据库因为表之间存在关联关系,如果做水平扩展会给数据查询带来很多麻烦。

二、认识Redis

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

Redis的特征:

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

三、Redis常见命令

  Redis默认有16个仓库,编号从0至15。 通过配置文件可以设置仓库数量,但是不超过16,并且不能自定义仓库名称。
在这里插入图片描述

Redis是典型的key-value数据库,key一般是字符串,而value包含很多不同的数据类型:

在这里插入图片描述
Redis为了方便我们学习,将操作不同数据类型的命令也做了分组,在官网可以查看到不同的命令:

在这里插入图片描述

3.1、Redis通用命令

通用指令是部分数据类型都可以使用的指令,常见的有:

  • KEYS:查看符合模板的所有key,例如KEYS *,就是查看所有key。因为是模糊匹配,所以生产上慎用此命令。
  • DEL:删除一个指定的key
  • EXISTS:判断key是否存在
  • EXPIRE:给一个key设置有效期,有效期到期时该key会被自动删除
  • TTL:查看一个KEY的剩余有效期

在命令行中,通过help [command] 可以查看一个命令的具体用法,例如:

# 查看keys命令的帮助信息:
127.0.0.1:6379> help keysKEYS pattern
summary: Find all keys matching the given pattern
since: 1.0.0
group: generic

3.2、Redis通用命令


http://www.mrgr.cn/news/44104.html

相关文章:

  • 深入理解Flask应用中不同模式下的数据库连接池
  • 构建 10 万卡 GPU 集群的技术挑战
  • MES系统在数字化转型中的重要性
  • Java使用线程池创建线程
  • 微调大语言模型——超详细步骤
  • 数据库简单介绍
  • 守护“金饭碗”:耕地保护,为经济社会发展筑牢根基
  • 智能工厂的软件设计 程序、对象和数据:【三ji(既/暨/即)】公共逻辑语言 之2 三个“原文”(祖传代码模板文件,软件编程架构文档和程序编码框架文本)
  • 如何降低实施APS的复杂性
  • 第5篇:Windows命令行文件下载方式汇总----应急响应之权限维持篇
  • R语言绘制面积图
  • python中时间函数及其应用
  • 【隐私计算篇】不经意传输OT及扩展协议OT Extension的进一步探索(涉及OT变体、恶意敌手模型、silent OT、OT扩展的通信对比等)
  • 2024/10/6 数据结构大题打卡
  • LeetCode Hot100 | Day2 | 二叉树:二叉树的中序遍历二叉树的最大深度
  • 菜鸟笔记003 获取目标对象的颜色值
  • 【Kubernetes】常见面试题汇总(五十八)
  • Vue入门-指令学习-v-on
  • 在 Koa 中,中间件函数的参数ctx是什么?
  • [Linux] Linux 初识进程地址空间 (进程地址空间第一弹)