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数据源

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

测试

相关推荐
一屉大大大花卷38 分钟前
初识Neo4j之入门介绍(一)
数据库·neo4j
周胡杰1 小时前
鸿蒙arkts使用关系型数据库,使用DB Browser for SQLite连接和查看数据库数据?使用TaskPool进行频繁数据库操作
前端·数据库·华为·harmonyos·鸿蒙·鸿蒙系统
wkj0011 小时前
navicate如何设置数据库引擎
数据库·mysql
赵渝强老师1 小时前
【赵渝强老师】Oracle RMAN的目录数据库
数据库·oracle
暖暖木头1 小时前
Oracle注释详解
数据库·oracle
御控工业物联网2 小时前
御控网关如何实现MQTT、MODBUS、OPCUA、SQL、HTTP之间协议转换
数据库·sql·http
夜斗小神社3 小时前
【黑马点评】(二)缓存
缓存
GJCTYU3 小时前
spring中@Transactional注解和事务的实战理解附代码
数据库·spring boot·后端·spring·oracle·mybatis
MicroTech20253 小时前
微算法科技(NASDAQ: MLGO)探索Grover量子搜索算法,利用量子叠加和干涉原理,实现在无序数据库中快速定位目标信息的效果。
数据库·科技·算法
Code季风3 小时前
SQL关键字快速入门:CASE 实现条件逻辑
javascript·数据库·sql