Redis的安装与使用
网址:Spring Data Redis
安装包:Releases · tporadowski/redis · GitHub
解压后
在安装目录中打开cmd
打开服务(注意:每次客户端连接都有先打开服务!!!)
按ctrl+C退出服务
客户端连接服务(注意一定是先打开服务,再开启一个新的命令行窗口!!!)
keys *验证是否启动成功,exit退出
连接指定服务(本地redis服务localhost,端口6379)
为了客户端连接服务的安全,设置密码:打开配置文件,搜索pass,在requirepass行注释去掉,设置密码为123456
打开服务后,再次连接客户端
使用图形界面操作redis客户端:安装链接
set命令
输入命令
点击name
在java中操作redis
进入到sky-server模块
1). 导入Spring Data Redis的maven坐标(已完成)
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2). 配置Redis数据源
在application-dev.yml中添加
sky:redis:host: localhostport: 6379password: 123456database: 10
解释说明:
database:指定使用Redis的哪个数据库,Redis服务启动后默认有16个数据库,编号分别是从0到15。
可以通过修改Redis配置文件来指定数据库的数量。
在application.yml中添加读取application-dev.yml中的相关Redis配置
spring:profiles:active: devredis:host: ${sky.redis.host}port: ${sky.redis.port}password: ${sky.redis.password}database: ${sky.redis.database}
3). 编写配置类,创建RedisTemplate对象
package com.sky.config;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.StringRedisSerializer;
@Configuration
@Slf4j
public class RedisConfiguration {
@Beanpublic RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory){log.info("开始创建redis模板对象...");RedisTemplate redisTemplate = new RedisTemplate();//设置redis的连接工厂对象redisTemplate.setConnectionFactory(redisConnectionFactory);//设置redis key的序列化器redisTemplate.setKeySerializer(new StringRedisSerializer());return redisTemplate;}
}
解释说明:
当前配置类不是必须的,因为 Spring Boot 框架会自动装配 RedisTemplate 对象,但是默认的key序列化器为
JdkSerializationRedisSerializer,导致我们存到Redis中后的数据和原始数据有差别,故设置为
StringRedisSerializer序列化器。
4). 通过RedisTemplate对象操作Redis
在test下新建测试类
package com.sky.test;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.*;
@SpringBootTest
public class SpringDataRedisTest {@Autowiredprivate RedisTemplate redisTemplate;
@Testpublic void testRedisTemplate(){System.out.println(redisTemplate);//string数据操作ValueOperations valueOperations = redisTemplate.opsForValue();//hash类型的数据操作HashOperations hashOperations = redisTemplate.opsForHash();//list类型的数据操作ListOperations listOperations = redisTemplate.opsForList();//set类型数据操作SetOperations setOperations = redisTemplate.opsForSet();//zset类型数据操作ZSetOperations zSetOperations = redisTemplate.opsForZSet();}
}
测试:
说明RedisTemplate对象注入成功,并且通过该RedisTemplate对象获取操作5种数据类型相关对象。
相关文章:

Redis的安装与使用
网址:Spring Data Redis 安装包:Releases tporadowski/redis GitHub 解压后 在安装目录中打开cmd 打开服务(注意:每次客户端连接都有先打开服务!!!) 按ctrlC退出服务 客户端连接…...
Linux服务器运维10个基础命令
结合多篇权威资料,以下是运维工程师必须掌握的10个核心命令,涵盖文件管理、系统监控、网络操作等高频场景 1. "ls" 代码分析 "ls" 用于列出目录内容,通过参数组合可增强展示效果: "-l" 显示文件…...

2024年数维杯国际大学生数学建模挑战赛C题时间信号脉冲定时噪声抑制与大气时延抑制模型解题全过程论文及程序
2024年数维杯国际大学生数学建模挑战赛 C题 时间信号脉冲定时噪声抑制与大气时延抑制模型 原题再现: 脉冲星是一种快速旋转的中子星,具有连续稳定的旋转,因此被称为“宇宙灯塔”。脉冲星的空间观测在深空航天器导航和时间标准维护中发挥着至…...

C# 控制台程序获取用户输入数据验证 不合规返回重新提示输入
在 C# 控制台程序中实现输入验证并循环重试,可以通过以下方式实现高效且用户友好的交互。以下是包含多种验证场景的完整解决方案: 一、通用输入验证框架 public static T GetValidInput<T>(string prompt, Func<string, (bool IsValid, T Val…...
【大模型面试每日一题】Day 31:LoRA微调方法中低秩矩阵的秩r如何选取?
【大模型面试每日一题】Day 31:LoRA微调方法中低秩矩阵的秩r如何选取? 📌 题目重现 🌟🌟 面试官:LoRA微调方法中低秩矩阵的秩r如何选取?: #mermaid-svg-g5hxSxV8epzWyP98 {font-family:"…...
使用source ~/.bashrc修改环境变量之后,关闭服务器,在重启,环境变量还有吗?
环境变量在服务器重启后的留存性分析 1. 环境变量的存储机制 临时环境变量: 通过命令直接设置的环境变量(如 export MY_VARvalue)仅存在于当前 shell 会话中,服务器重启后会丢失。永久环境变量: 写入 配置文件&#…...
SQL 窗口函数深度解析:ROW_NUMBER 实战指南
SQL 窗口函数深度解析:ROW_NUMBER 实战指南 一、窗口函数核心概念 窗口函数(Window Function)是SQL中用于在结果集的"窗口"(即特定行集合)上执行计算的高级功能。与聚合函数不同,窗口函数不会将多行合并为单行,而是为每行返回一个计算值。 关键特性:窗口函数通…...
React从基础入门到高级实战:React 生态与工具 - React 国际化(i18n)
React 国际化(i18n) 引言 随着全球化的加速,开发支持多语言的应用已成为现代Web开发的重要需求。无论是面向国际市场的电商平台,还是提供多语言服务的SaaS应用,国际化(i18n)功能都是提升用户体…...
leetcode93.复原IP地址:回溯算法中段控制与前导零处理的深度解析
一、题目深度解析与IP地址规则 题目描述 给定一个只包含数字的字符串s,返回所有可能的有效IP地址组合。有效IP地址需满足以下条件: 由4个0-255的整数组成,用.分隔每个整数不能以0开头(除非该整数本身是0)例如输入s&…...

TDengine 运维——巡检工具(安装前检查)
简介 本文档旨在介绍 TDengine 安装部署前后配套的巡检工具。 相关工具的功能简介: 工具名称功能简介安装前检查部署前对 TDengine 安装部署的依赖要素进行安装前检查安装前预配置部署前对 TDengine 安装部署的依赖要素进行安装前预配置安装部署指定环境安装部署…...
MySQL主从复制深度解析:原理、架构与实战部署指南
一、主从复制核心原理 复制流程解析 MySQL主从复制本质是通过二进制日志(binlog)实现数据同步的异步复制机制: 写操作记录:主库执行写操作时,将变更记录到binlog 日志传输:主库的binlog dump线程将日志发送给从库 中继存储&am…...
[SC]SystemC dont_initialize的应用场景详解(二)
SystemC dont_initialize的应用场景详解(二) 摘要:下面给出一个稍复杂一点的 SystemC 示例,包含三个模块(Producer/Filter/Consumer)和一个 Testbench(Top)模块,演示了在不同的进程类型中如何使用 dont_initialize() 来抑制 time 0 的自动调用。 一、源代码 …...

【Linux】权限chmod命令+Linux终端常用快捷键
目录 linux中权限表示形式 解析标识符 权限的数字序号 添加权限命令chmod 使用数字表示法设置权限 使用符号表示法设置权限 linux终端常用快捷键 🔥个人主页 🔥 😈所属专栏😈 在 Linux 系统里,权限管理是保障系…...

Java八股文智能体——Agent提示词(Prompt)
这个智能体能够为正在学习Java八股文的同学提供切实帮助:不仅可以帮你优化答案表述,还能直接解答八股文相关问题——它会以面试者的视角,给出贴合求职场景的专业回答。 将以下内容发送给任何一个LLM,他会按照你提示词的内容&…...

Go语言的context
Golang context 实现原理 本篇文章是基于小徐先生的文章的修改和个人注解,要查看原文可以点击上述的链接查看 目前我这篇文章的go语言版本是1.24.1 context上下文 context被当作第一个参数(官方建议),并且不断的传递下去&…...
快速掌握 GO 之 RabbitMQ 结合 gin+gorm 案例
更多个人笔记见: (注意点击“继续”,而不是“发现新项目”) github个人笔记仓库 https://github.com/ZHLOVEYY/IT_note gitee 个人笔记仓库 https://gitee.com/harryhack/it_note 个人学习,学习过程中还会不断补充&…...
JVM——SubstrateVM:AOT编译框架
引入 在现代软件开发领域,应用程序的启动性能和内存开销一直是影响用户体验的关键因素。对于 Java 应用程序而言,传统的即时编译(JIT)模式虽然能够在运行时对热点代码进行优化,提高程序的执行效率,但却无法…...
【HarmonyOS 5】鸿蒙Taro跨端框架
Taro跨端框架 支持React语法开发鸿蒙应用,架构分为三层: ArkVM层运行业务代码和React核心TaroElement树处理节点创建和属性绑定TaroRenderNode虚拟节点树与上屏节点一一对应 import { Component } from tarojs/taro export default class MyCompon…...

数据库原理 试卷
以下是某高校教学管理系统的毕业论文指导ER图,数据信息:一名教师指导多名学生,一名学生只能选择一名教师,试分析完成以下各题,如用SQL命令完成的,在SQL Server2008验证后把答案写在题目的下方。 图1 毕业论…...

【Qt开发】对话框
目录 1,对话框的介绍 2,Qt内置对话框 2-1,消息对话框QMessageBox 2-2,颜色对话框QColorDialog 2-3,文件对话框QFileDialog 2-4,字体对话框QFontDialog 2-5,输入对话框QInputDialog 1&…...
Ubuntu上进行VS Code的配置
1. 安装VS code sudo snap install code --classic 2. 安装GCC sudo apt install build-essential 3. 安装VS Code中文包 打开 VS Code 点击左侧活动栏中的扩展图标(或按Ctrl+Shift+X) 在搜索框中输入:Chinese (Simplified) 选择由 Microsoft 提供的 中文(简体)语言包…...
阴盘奇门 api数据接口
阴盘奇门,又称"道家阴盘遁甲"或"法术奇门",与阳盘奇门(奇门排盘)并称"奇门双雄"。由王凤麟教授整合道家三式(奇门、六壬、太乙)精髓创立,独创行为风水与立体全息预测技术,广…...

2025年渗透测试面试题总结-匿名[校招]攻防研究员(应用安全)(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 匿名[校招]攻防研究员(应用安全) 基础部分 1. HTTP状态码 2. HTTP请求方法及作用 3. 网络分层及协议 OW…...

碰一碰发视频系统--基于H5场景开发
#碰一碰发视频# 旨在构建一个基于移动网页(H5)的视频“碰传”交互系统,提供类似华为/苹果设备 NFC 轻碰分享的便捷体验。其核心技术依赖于移动端可用的近场通信(NFC 或 H5 相关 API)和可靠的媒体数据传输方案。实现细节…...

MagicAnimate 论文解读:引入时间一致性的视频人物动画生成方法
1. 前言/动机 问题:现有动画生成方法缺乏对时间信息的建模,常常出现时间一致性差的问题 描述: 现有的动画生成方法通常采用帧变形(frame-warping)技术,将参考图像变形以匹配目标动作。尽管这类方法能生成较…...
QT使用说明
QT环境准备 推荐Ubuntu平台上使用,配置简单,坑少。 Ubuntu 20.04 安装 sudo apt-get install qt5-default -y sudo apt-get install qtcreator -y sudo apt-get install -y libclang-common-8-dev启动 qtcreatorHelloWorld 打开 Qt Creator。选择 …...

数据结构:递归(Recursion)
目录 示例1:先打印,再递归 示例2:先递归,再打印 递归的两个阶段 递归是如何使用栈内存 复杂度分析 递归中的静态变量 内存结构图解 递归:函数调用自己 必须有判断条件来使递归继续或停止 我们现在通过这两个示…...

Cesium快速入门到精通系列教程一:打造第一个Cesium应用
一、打造第一个Cesium应用 1、官方渠道下载Cesium(可选择历史版本) GitHub Releases页面:https://github.com/CesiumGS/cesium/releases 访问 Cesium GitHub Releases,此处列出了所有正式发布的版本。 通过标签&#…...

力扣题解106:从中序与后序遍历序列构造二叉树
一、题目内容 题目要求根据二叉树的中序遍历序列和后序遍历序列来重建二叉树。具体来说,我们需要利用中序遍历序列和后序遍历序列的特点,通过递归的方法逐步构建出完整的二叉树。 中序遍历序列的特点是:左子树 -> 根节点 -> 右子树。后…...
Vue传参Props还是Pinia
Pinia 适用场景 全局状态管理 多个不相关组件需要共享数据需要跨页面/路由共享状态 复杂状态逻辑 包含多个相互关联的状态有复杂的状态修改逻辑 持久化需求 需要将状态保存到localStorage/sessionStorage页面刷新后需要恢复状态(恢复最后一次修改的状态࿰…...