首页 > 数据库 >Redis组件介绍(一)

Redis组件介绍(一)

时间:2024-08-28 15:47:24浏览次数:7  
标签:Key redis 数据库 Redis 介绍 内存 key 组件

写在前面

今天我们来学习一下 Redis 。Redis 是一个高性能的开源内存数据存储系统,支持多种数据结构,如字符串、列表、集合、有序集合和哈希表。

# NoSQL 概述

随着大数据的兴起,数据量的暴增,数据类型的丰富,传统的关系数据库在应付动态网站,特别是超大规模和高并发的纯动态网站时已经显得力不从心,暴露了很多难以克服的问题。例如:

  • 商城网站中对商品数据频繁查询
  • 对热搜商品的排行统计
  • 订单超时问题
  • 微信朋友圈(音频,视频)存储等

传统的关系型数据库虽然可以实现相应功能,但在性能上并不理想。NoSQL 技术的出现解决了这些问题,它展示了世界上不仅仅存在 SQL 的可能性。

Redis 是一个高性能的开源内存数据存储系统,支持多种数据结构,如字符串、列表、集合、有序集合和哈希表。它不仅用作数据库,也常用于缓存和消息中间件。Redis 提供了丰富的功能,包括持久化数据、事务处理、发布/订阅机制以及高可用性支持。由于其单线程设计,Redis 在处理高并发请求时表现出色。

NoSQL 的四大分类

键值存储数据库

  • Tokyo Cabinet/Tyrant
  • Redis: 基于内存的数据存储,运行在软件 → 磁盘 → 内存中
  • SSDB: 基于磁盘的,直接与磁盘交互 → IO
  • Voldemort
  • Oracle BDB

列存储数据库

  • HBase
  • Cassandra
  • ClickHouse

文档型数据库

  • MongoDB
  • CouchDB
  • SequoiaDB: 国内的文档型数据库,已开源

图形数据库

  • Neo4J
  • InfoGrid
  • Infinite Graph
  • OSS

NoSQL 的应用场景

  • 数据模型比较简单
  • 需要灵活性更强的 IT 系统
  • 对数据库性能要求较高
  • 不需要高度的数据一致性(NoSQL 数据库对事务的支持较差)

什么是 Redis

Redis 是一个开源的内存型数据存储,遵循 BSD 许可证。它被广泛用于数据库、缓存和消息中间件。总结来说,Redis 是一个内存型的数据库。

Redis 特点

  • 高性能的 Key/Value 内存型数据库
  • 支持丰富的数据类型:string, list, set, sorted set, hash
  • 支持持久化:将数据保存到磁盘
  • 单线程、单进程:线程安全性较高

下载与安装

  1. 准备环境

    • VMware 12.x+
    • CentOS 7.x+
  2. 下载 Redis 源码包

  3. 将下载的 Redis 源码包上传到 Linux 中

  4. 解压缩文件

    tar -zxvf redis-7.0.10.tar.gz
    
  5. 安装 GCC

    yum install -y gcc
    
  6. 进入解压缩目录,执行编译命令

    yum install -y tcl
    make MALLOC=libc
    
  7. 编译完成后,安装 Redis

    make install PREFIX=/usr/local/soft/redis
    
  8. 启动 Redis 服务

    ./usr/local/soft/redis/bin/redis-server
    

配置环境变量

/etc/profile 文件中添加:

export JAVA_HOME=/usr/local/soft/jdk1.8.0_171
export REDIS_HOME=/usr/local/soft/redis
export PATH=.:$PATH:$JAVA_HOME/bin:$REDIS_HOME/bin

基本使用

  • 查看 Redis 进程

    ps -aux | grep redis
    
  • 进行客户端连接操作

    ./redis-cli -h localhost -p 6379
    

    如果在同一台机器上,可以省略主机和端口:

    ./redis-cli
    

Redis 中的库

Redis 默认存在 16 个库,编号从 0 到 15。可以使用 select 命令选择一个库。

  • 清空当前库

    FLUSHDB
    
  • 清空全部库

    FLUSHALL
    

Redis 客户端显示中文

./redis-cli -p 7000 --raw

操作 Key 相关指令

  • 删除 Key

    DEL key [key ...]
    
  • 检查 Key 是否存在

    EXISTS key [key ...]
    
  • 设置 Key 的过期时间(秒)

    EXPIRE key seconds
    
  • 查找所有符合给定模式的 Key

    KEYS pattern
    
  • 将 Key 移动到指定数据库

    MOVE key db
    
  • 设置 Key 的过期时间(毫秒)

    PEXPIRE key milliseconds
    
  • 设置 Key 的过期时间戳(毫秒)

    PEXPIREAT key milliseconds-timestamp
    
  • 查看 Key 的剩余生存时间(秒)

    TTL key
    
  • 查看 Key 的剩余生存时间(毫秒)

    PTTL key
    
  • 随机返回一个 Key

    RANDOMKEY
    
  • 重命名 Key

    RENAME key newkey
    
  • 查看 Key 的类型

    TYPE key
    

标签:Key,redis,数据库,Redis,介绍,内存,key,组件
From: https://www.cnblogs.com/cjybigdatablog/p/18384831

相关文章

  • 【阅己书城】docker部署MySQL及Redis
    一、MySQL1拉取mysql镜像dockerpullmysql:5.72启动mysql容器--name指定容器名字-v目录挂载-p指定端口映射-e设置mysql参数-d后台运行dockerrun--namemysql-v/mydata/mysql/data:/var/lib/mysql-v/mydata/mysql/conf:/etc/mysql-v/mydata/mysql/log:/var/......
  • vue3 常用的几种组件通讯方式
    vue3常用的几种组件通讯方式,大致如下Props/EmitPinia事件总线(mitt)Provide/Inject浏览器本地存储 1.Props/Emit注释:prop属性名称/方法名称的格式,采用 camelCase 与 kebab-case。 1.1props(1)上游组件设置 prop 值(通过v-bind或冒号) 或者 (2)下游......
  • 新手网络爬虫利器介绍 之 移动蜂窝网络代理
    移动蜂窝代理对接说明在爬虫与反爬虫斗争愈演愈烈的情况下,各大网站和App的风控检测越来越强,其中一项就是IP封禁。为了解决IP封禁的困扰,一个有效的方式就是设置代理,设置代理之后,爬虫可以借助代理的IP来伪装自己的真实IP地址,从而突破反爬虫的限制。但代理的质量......
  • Web大学生网页作业成品——香奈儿香水介绍网页设计与实现(HTML+CSS)(1个页面)
    ......
  • 自我介绍+软工5问
    这个作业属于哪个课程计科22级12班软件工程这个作业要求在哪里作业要求这个作业的目标学会使用博客园并发布一篇随笔,在GitHub新建一个仓库自我介绍我是广东工业大学计算机学院计算机科学与技术22级2班的学生陈大锴,来自广东省云浮市罗定县,肉桂的家乡,肠粉的发源......
  • redis设置用户名密码
    今天学习redis的相关配置知识,起因来自于华为云服务器未设置用户名密码导致遭受到攻击,所以我要设置一个用户名密码,但是设置命令后出现这样的报错:Jobforredis.servicefailedbecausethecontrolprocessexitedwitherrorcode.See"systemctlstatusredis.service"and"j......
  • 自我介绍+软工五问
    软工第一次作业这个作业属于哪个课程22级计科12班这个作业要求在哪里第一次作业要求这个作业的目标熟悉markdown,github,博客园自我介绍我叫谭立业,是22级计科一班的学生我来自黑龙江省大庆市,平时喜欢运动,跑步,打篮球,羽毛球,台球,也喜欢听听歌平时喜欢玩游戏,金铲......
  • 使用 nuxi add 快速创建 Nuxt 应用组件
    title:使用nuxiadd快速创建Nuxt应用组件date:2024/8/28updated:2024/8/28author:cmdragonexcerpt:通过使用nuxiadd命令,你可以快速创建Nuxt应用中的各种实体,如组件、页面、布局等。这可以极大地提高开发效率,减少手动创建文件的工作量。希望本文的示例和解释......
  • Argo Workflow 介绍:一款强大的云原生持续集成工具
    Argoworkflow是什么老牌的CICD工具Jenkins应该是大部分都接触过的,而在云原生时代,诞生了两大CI/CD框架,也就是ArgoWorkflow和Tekton,本文主要介绍一下ArgoWorkflow。ArgoWorkflow是一个云原生的工作流引擎,基于kubernetes来做编排任务,目前Argo项目是CNCF的毕......
  • 大模型目前量化方法有哪些?详细介绍实际落地中最常用方法
    本文介绍了大模型量化目标、原理,量化对象以及形式,并对实际落地中最常见的QAT做了较详细的介绍。大家都知道,现在大模型轻松突破上万亿规模参数,但各行各业现在都想部署上大模型,最近手机端也开始卷轻量级大模型研究。因此大模型压缩技术现在也算是研究热点,需要降低模型部署的......