Redis入门(Java中操作Redis)

目录

[一 基础概念](#一 基础概念)

[1. Redis 核心特点](#1. Redis 核心特点)

[2. Redis 与 MySQL 的对比](#2. Redis 与 MySQL 的对比)

[3. Redis的开启与使用](#3. Redis的开启与使用)

[二 Redis的常用数据类型](#二 Redis的常用数据类型)

[1 基础概念](#1 基础概念)

[2 数据结构的特点](#2 数据结构的特点)

[三 Redis基础操作命令](#三 Redis基础操作命令)

[1 字符串操作命令](#1 字符串操作命令)

[2 哈希操作命令](#2 哈希操作命令)

[3 列表操作命令](#3 列表操作命令)

[4 集合操作命令](#4 集合操作命令)

[5 有序集合操作命令](#5 有序集合操作命令)

[6 通用命令](#6 通用命令)

[四 在Java中操作数据库](#四 在Java中操作数据库)

[1 客户端](#1 客户端)

[2 使用Spring Data Redis](#2 使用Spring Data Redis)


一 基础概念

1. Redis 核心特点

  • 内存存储:数据主要存储在内存中,读写速度极快(微秒级),适合高性能场景。

  • 非关系型(NoSQL):无需预定义表结构,以键值对(Key-Value)为基础,支持多种数据结构。

  • 单线程模型:采用单线程处理命令(6.0+支持多线程I/O),避免竞态条件,简化设计,依赖内存和高效I/O复用实现高吞吐。

  • 持久化:支持将内存数据保存到磁盘(RDB快照、AOF日志),保障数据安全。

  • 高可用与扩展:支持主从复制、哨兵模式(Sentinel)和集群分片(Cluster)。

2. Redis 与 MySQL 的对比

特性 Redis MySQL
存储位置 内存为主,持久化可选 磁盘存储,通过缓冲池加速
数据结构 多样化的数据结构 固定表结构(行与列)
查询语言 命令式(如GET, HSET) SQL(如SELECT, JOIN)
事务 支持(无回滚,批量执行) 支持ACID事务
典型用途 缓存、实时排行榜、会话存储 持久化业务数据、复杂查询
扩展性 水平扩展(Cluster分片) 垂直扩展或主从复制

3. Redis的开启与使用

1 首先设置自己的密码

在conf配置文件当中设置

2 开启Redis的服务端(可以直接双击exe程序文件)

3 开启客户端与服务端建立连接(在程序路劲之下输入cmd进入cmd界面)

4 下载图形化(与本地服务端建立连接获取信息)

二 Redis的常用数据类型

1 基础概念

2 数据结构的特点

1 String(字符串):存储文本、数字或者二进制数据

复制代码
SET user:1 "Alice"
GET user:1

2 Hash(哈希):存储键值对的集合,适合对象。

复制代码
HSET user:1 name "Alice" age 30
HGETALL user:1

3 List(列表):双向列表、支持顺序操作

复制代码
LPUSH news "Latest Update"
LRANGE news 0 5

4 Set(集合):无序唯一元素集合

复制代码
SADD tags "tech" "redis"
SINTER tags1 tags2  # 交集

5 Sorted Set(有序集合):元素按照分数排序

复制代码
ZADD leaderboard 100 "Alice"
ZRANGE leaderboard 0 9 WITHSCORES

三 Redis基础操作命令

1 字符串操作命令

基础使用

2 哈希操作命令

基础使用

3 列表操作命令

基础使用

4 集合操作命令

基础使用

5 有序集合操作命令

基础使用

6 通用命令

基础使用

四 在Java中操作数据库

1 客户端

2 使用Spring Data Redis

具体实现

导入maven坐标

XML 复制代码
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>

配置Redis数据源

编写配置类(后续运行出错就将密码的配置类注释掉)

测试

相关推荐
拾贰_C8 分钟前
【English | conversation 】call | 抖音AI短句情景:打电话---come over
数据库·redis·缓存
2601_9628857218 分钟前
AlphaFeed 支持哪些 K 线周期?period参数怎么传?
前端·数据库·python
麦壳饼1 小时前
架构深度解析:SonnetDB 的写入与查询路径
数据库·sonnetdb
gudufy1 小时前
ASP.NET Core 多租户如何动态创建数据库?数据库初始化怎么做?
数据库·blazor·admin
Data-Miner2 小时前
离线AI制表:模型适配与脚本固化实操
大数据·数据库·人工智能·excel
xixiaoyunya2 小时前
数据库三种备份方式怎么组合?从原理到落地的完整方案
数据库
2501_933670793 小时前
2027届数学与应用数学转经营分析:SQL、财务指标与业务指标补齐路线
数据库·sql·数学建模
我科绝伦(Huanhuan Zhou)3 小时前
oracle坏块导致备份不了
数据库·oracle·ffmpeg
IT大白鼠3 小时前
图数据库系列 · 第 08 篇——面试收官:高频题与全景总结
数据库·面试·职场和发展·nosql·图数据库
xixiaoyunya3 小时前
定时备份数据库怎么规划周期?一套“少打扰业务、真能恢复“的策略
数据库