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

Redis后端的简单了解与使用(项目搭建前置)

文章目录

  • Redis
    • 特点
    • 为什么使用Redis
  • Linux下Redis安装
  • Redis数据结构
    • String字符串
      • 单值缓存
      • 计数器
    • Hash(哈希)
    • List(列表)
    • Set(集合)
    • zset(有序集合)
    • 设置值时设置有效时间

Redis

Redis 是一个开源的,使用C语言编写的,支持网络交互的,内存中的 Key-Value 数据结构存储系统,支持多种语言,它可以用作数据库、缓存和消息 中间件。

高性能: 数据存储在内存中,直接访问内存

键值对: 新闻id(键) : 点赞数量(值)

​ 商品id : {id:1000,name:“华为手机”,price:3000}

非关系型数据库 : 数据存储是键值对的, 没有二维表关系 不使用sql操作

使用redis作为缓存, 将一些访问量大,或者修改较少的数据使用redis存储起来,

对mysql形成保护.原理如下:

image-20250620185106069

特点

  • Redis将数据存储在内存中,也支持数据的持久化,可以将内存中的数据保持 在磁盘中,重启的时候可以再次加载进行使用。
  • 性能极高, Redis能读的速度是110000次/s,写的速度是81000次/s 。
  • Redis供list,set,zset,hash 等数据结构的存储。
  • 原子– Redis的所有操作都是原子性的,同时Redis还支持对几个操作全 并后的原子性执行。
  • Redis分布式集群化扩展性极高,即master-slave(主-从)模式。

为什么使用Redis

随着web3.0的时代到来,传统的关系型数据库在大量的访问压力出现了一些 性能问题,如连接数量问题,IO瓶颈问题等,此时需要使用redis对部分数据进行缓 存,或者将某些数据直接存储在redis中,以减少对关系型数据库的访问压力. 当然redis数据库也是不能完全替代关系型数据库的,他们是相互依赖的.

Linux下Redis安装

创建redis配置文件和数据映射挂载卷

mkdir -p /opt/redis/conf
mkdir -p /opt/redis/data

image-20250620192427641

redis.conf文件拖入conf文件夹

连接密码

image-20250620192543760

注释掉bind 127.0.0.1即可远程连接

image-20250620192635396

拉取镜像

docker pull redis:6.0

image-20250620193219271

安装命令

docker run -d -p 6379:6379 \
--name redis \
--restart=always \
--privileged=true \
-v /opt/redis/conf/redis.conf:/etc/redis/redis.conf \
-v /opt/redis/data:/data \
redis:6.0

image-20250620193347998

连接redis方法

1.命令连接

1.1进入redis终端

docker exec -it redis bash

1.2进入redis命令行

redis-cli

image-20250620194411306

进入成功

2.安装Redis桌面端

image-20250620194621866

3.连接Redis

image-20250620194935069

Redis数据结构

Redis结构分为String、hash、list、set、zset(有序集合)

String字符串

  • string 是 redis 最基本的类型,一个 key 对应一个 value。
  • string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据。比 如jpg图片或者序列化的对象。
  • string 类型是 Redis 最基本的数据类型,
  • string 类型的值最大能存储 512MB。

单值缓存

set key value
get key
del key
keys *

单值缓存可以为json字符串

计数器

set news_views:1 设置文章访问量
incr news_views:1 文章访问量+1
decr news_views:1 文章访问量-1
get news_views:1 获得值

Hash(哈希)

redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合 用于存储对象.

image-20250620200838815

List(列表)

Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列 表的头部(左边)或者尾部(右边)。

image-20250620200906449

Set(集合)

Redis 的 Set 是无序集合。

zset(有序集合)

redis zset 也是不允许重复的成员,但是是有序的。 不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为 集合中的成员进行从小到大的排序。 zset 的成员是唯一的,但分数(score)却可以重复。

image-20250620201000887

设置值时设置有效时间

有时候我们并不希望redis的key一直存在。例如缓存,验证码等数据,我们希 望它们能在一定时间内自动的被销毁。redis提供了一些命令,能够让我们对key 设置过期时间,并且让key过期之后被自动删除.

set [key] [value] [EX seconds|PX milliseconds|KEEPTTL] [NX|XX]

EX表示秒为单位

PX表示毫秒为单位

EX、PX不区分大小写

egset name cui ex 10设置失效时间为10s

ttl [key] 查看剩余剩余时间 秒

pttl [key]查看剩余时间 毫秒

设置值后设置有效时间

expire [key] 时间(秒)
pexpire [key] 时间(毫秒)
http://www.lqws.cn/news/469423.html

相关文章:

  • ARCGIS国土超级工具集1.6更新说明
  • 零基础学习Redis(12) -- Java连接redis服务器
  • 60-Oracle 10046事件-实操
  • Qt的学习(七)
  • 【价值链】产品经理
  • 学习C++、QT---03(C++的输入输出、C++的基本数据类型介绍)
  • nn4dms开源程序是用于深度突变扫描数据的神经网络
  • 车载电子电器架构 --- 法律和标准对电子电气架构的影响
  • JAVA锁机制:对象锁与类锁
  • Vue 简写形式全解析:清晰记忆指南
  • 自动化立体仓库堆垛机控制系统STEP7 FC3功能块 I/O映射
  • 【基础算法】二分(二分查找 + 二分答案)
  • Gunicorn 在 Windows 上能安装但无法运行的解决方案
  • 跟着AI学习C# Day29
  • 网络安全迎来了新契机
  • C# WPF常用调试工具汇总
  • 【Redis】主从复制:配置、管理与优化
  • RTX5 | 配置文件RTX_Config.h
  • 借助ChatGPT快速开发图片转PDF的Python工具
  • 从0开始学习R语言--Day28--高维回归
  • 大学专业解读——电气,自动化,仪器
  • ZooKeeper 3.9.2 集群安装指南
  • AIGC工具平台-Duix.Heygem音频对口型数字人
  • API网关Apisix管理接口速查
  • Mac电脑-触摸板增强工具-BetterTouchTool
  • SpringAI1.0.0 入门案例
  • LLM:重构数字世界的“智能操作系统”
  • 71、单元测试-Junit5简介
  • Transformer架构每层详解【代码实现】
  • 使用Trae编辑器与MCP协议构建高德地图定制化服务