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

发布于:2025-06-22 ⋅ 阅读:(12) ⋅ 点赞:(0)

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] 时间(毫秒)

网站公告

今日签到

点亮在社区的每一天
去签到