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

Redis的介绍以及简单使用

Redis(Remote Dictionary Server)是一个开源的内存数据存储系统,它以键值对的形式将数据存在内存中,并提供灵活、高性能的数据访问方式。Redis具有高速读写能力和丰富的数据结构支持,可以广泛应用于缓存、消息队列、实时统计分析、任务队列等场景。

下面是Redis的简单使用及应用场景介绍:

1. 键值存储:Redis通过键值对的方式存储数据,其中键是独一无二的,可以使用各种数据类型的键和值,如字符串、列表、哈希表、集合和有序集等。

2. 缓存:Redis可以作为缓存层,将常用的数据存储于内存中,减少数据库的查询压力,提升系统的访问速度。

3. 消息队列:Redis提供了发布/订阅机制,可以作为消息队列使用,实现异步消息传递和解耦。

4. 实时统计分析:Redis的高性能和支持原子操作的特性,使得它可以用于实时统计分析,如在线用户统计、页面访问量统计等。

5. 任务队列:通过Redis的列表数据类型,可以将任务添加到列表中,实现任务队列,其他进程或线程可以通过消费任务列表来处理任务。

6. 分布式锁:通过Redis的SETNX命令可以实现分布式锁,用于解决多个进程或线程同时访问共享资源时的并发问题。

下面提及一些redis的使用:

1.首先就是redis的下载

首先就是github:1、Github下载地址:Releases · microsoftarchive/redis · GitHub

也可以在我的资源绑定里面有redis的压缩包

2.将下载后的安装包进行解压缩

3.第三步就是启动redis了

   进入到redis 的根目录,输入以下命令即可启动:redis-server.exe redis.windows.conf

2.可以使用redis自带的客户端工具进行测试  redis-cli.exe   直接点击既可以,输入ping,出现PONG就可。

接下来测试进行简单的测试set 和get

一般情况下还是需要使用到可视化工具的

安装好可视化工具后,需要新添加一个链接,ip和端口号是必须要添加的。

在这里便可以看到我刚刚用redis自带工具的所添加的内容。

而我们的redis,主要是使用到项目当中,下面以springboot项目为例:

使用Redis在Spring Boot项目中,可以按照以下步骤进行配置和使用:

步骤1:添加依赖
在项目的pom.xml文件中添加Redis依赖:
 

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>


步骤2:配置Redis连接信息
在application.properties或application.yml文件中添加Redis连接信息:

spring.redis.host=127.0.0.1
spring.redis.port=6379


这里需要将`host`和`port`替换为你使用的具体值。步骤3:创建Redis配置类
在项目中创建一个Redis的配置类,用于配置RedisTemplate和Redis连接工厂:

 

@Configuration
public class RedisConfig {@Value("${spring.redis.host}")private String redisHost;@Value("${spring.redis.port}")private int redisPort;@Beanpublic RedisConnectionFactory redisConnectionFactory() {RedisStandaloneConfiguration config = new RedisStandaloneConfiguration(redisHost, redisPort);return new JedisConnectionFactory(config);}@Beanpublic RedisTemplate<String, Object> redisTemplate() {RedisTemplate<String, Object> template = new RedisTemplate<>();template.setConnectionFactory(redisConnectionFactory());return template;}
}

步骤4:使用Redis
你可以在任何需要使用Redis的地方通过自动注入RedisTemplate来进行操作,例如:
 


@Autowired
private RedisTemplate<String, Object> redisTemplate;public void setValue(String key, Object value) {redisTemplate.opsForValue().set(key, value);
}public Object getValue(String key) {return redisTemplate.opsForValue().get(key);
}


这里的`setValue`和`getValue`方法分别用于设置和获取Redis中的值。

相关文章:

Redis的介绍以及简单使用

Redis&#xff08;Remote Dictionary Server&#xff09;是一个开源的内存数据存储系统&#xff0c;它以键值对的形式将数据存在内存中&#xff0c;并提供灵活、高性能的数据访问方式。Redis具有高速读写能力和丰富的数据结构支持&#xff0c;可以广泛应用于缓存、消息队列、实…...

ad18学习笔记十二:如何把同属性的元器件全部高亮?

1、先选择需要修改的器件的其中一个。 2、右键find similar objects&#xff0c;然后在弹出的对话框中&#xff0c;将要修改的属性后的any改为same 3、像这样勾选的话&#xff0c;能把同属性的元器件选中&#xff0c;其他器件颜色不变 注意了&#xff0c;如果这个时候&#xff…...

SpringSecurity 核心过滤器——SecurityContextPersistenceFilter

文章目录 前言过滤器介绍用户信息的存储获取用户信息存储用户信息获取用户信息 处理逻辑总结 前言 SecurityContextHolder&#xff0c;这个是一个非常基础的对象&#xff0c;存储了当前应用的上下文SecurityContext&#xff0c;而在SecurityContext可以获取Authentication对象…...

反转单链表

思路图1&#xff1a; 代码&#xff1a; struct ListNode* reverseList(struct ListNode* head){if(headNULL)//当head是空链表时 {return head; }struct ListNode* n1NULL;struct ListNode* n2head;struct ListNode* n3head->next;if(head->nextNULL)//当链表只有一个节…...

加速新药问世,药企如何利用云+网的优势?

随着计算能力的不断提高和人工智能技术的迅速发展&#xff0c;药物研发领域正迎来一场革命。云端强大的智能算法正成为药物研发企业的得力助手&#xff0c;推动着药物的精确设计和固相筛选。这使得药物设计、固相筛选以及药物制剂开发的时间大幅缩短&#xff0c;有望加速新药物…...

C++中string对象之间比较、char*之间比较

#include <cstring> //char* 使用strcmp #include <string> //string 使用compare #include <iostream> using namespace std; int main() {string stringStr1 "42";string stringStr2 "42";string stringStr3 "213";cout …...

MVVM模式理解

链接&#xff1a; MVVM框架理解及其原理实现 - 知乎 (zhihu.com) 重点&#xff1a; 1.将展示的界面窗口和创建的构件是数据进行分离 2.利用一个中间商进行数据的处理&#xff0c;所有的数据通过中间商进行处理...

js常用的数组处理方法

some 方法 用于检查数组中是否至少有一个元素满足指定条件。如果有满足条件的元素&#xff0c;返回值为 true&#xff0c;否则返回 false。 const numbers [1, 2, 3, 4, 5];const hasEvenNumber numbers.some((number) > number % 2 0); console.log(hasEvenNumber); /…...

[Document]VectoreStoreToDocument开发

该document是用来检索文档的。 第一步&#xff1a;定义组件对象&#xff0c;该组件返回有两种类型&#xff1a;document和text。 第二步&#xff1a;获取需要的信息&#xff0c;向量存储库&#xff0c;这里我使用的是内存向量存储&#xff08;用该组件拿到文档&#xff0c;并检…...

【LeetCode-简单题】225. 用队列实现栈

文章目录 题目方法一&#xff1a;单个队列实现 题目 方法一&#xff1a;单个队列实现 入栈 和入队正常进行出栈的元素其实就是队列的尾部元素&#xff0c;所以直接将尾部元素弹出即可&#xff0c;其实就可以将除了最后一个元素的其他元素出队再加入队&#xff0c;然后弹出队首元…...

数据预处理方式合集

删除空行 #del all None value data_all.dropna(axis1, howall, inplaceTrue) 删除空列 #del all None value data_all.dropna(axis0, howall, inplaceTrue) 缺失值处理 观测缺失值 观测数据缺失值有一个比较好用的工具包——missingno&#xff0c;直接传入DataFrame&…...

【前端】jquery获取data-*的属性值

通过jquery获取下面data-id的值 <div id"getId" data-id"122" >获取id</div> 方法一&#xff1a;dataset()方法 //data-前缀属性可以在JS中通过dataset取值&#xff0c;更加方便 console.log(getId.dataset.id);//112//赋值 getId.dataset.…...

GB28181学习(五)——实时视音频点播(信令传输部分)

要求 实时视音频点播的SIP消息应通过本域或其他域的SIP服务器进行路由、转发&#xff0c;目标设备的实时视音频流宜通过本域的媒体服务器进行转发&#xff1b;采用INVITE方法实现会话连接&#xff0c;采用RTP/RTCP协议实现媒体传输&#xff1b;信令流程分为客户端主动发起和第…...

单例模式(饿汉模式 懒汉模式)与一些特殊类设计

文章目录 一、不能被拷贝的类 二、只能在堆上创建类对象 三、只能在栈上创建类对象 四、不能被继承的类 五、单例模式 5、1 什么是单例模式 5、2 什么是设计模式 5、3 单例模式的实现 5、3、1 饿汉模式 5、3、1 懒汉模式 &#x1f64b;‍♂️ 作者&#xff1a;Ggggggtm &#x…...

133. 克隆图

133. 克隆图 题目-中等难度示例1. bfs 题目-中等难度 给你无向 连通 图中一个节点的引用&#xff0c;请你返回该图的 深拷贝&#xff08;克隆&#xff09;。 图中的每个节点都包含它的值 val&#xff08;int&#xff09; 和其邻居的列表&#xff08;list[Node]&#xff09;。…...

交流耐压试验目的

试验目的 交流耐压试验是鉴定电力设备绝缘强度最有效和最直接的方法。 电力设备在运行中&#xff0c; 绝缘长期受着电场、 温度和机械振动的作用会逐渐发生劣化&#xff0c; 其中包括整体劣化和部分劣化&#xff0c;形成缺陷&#xff0c; 例如由于局部地方电场比较集中或者局部…...

使用 YCSB 和 PE 进行 HBase 性能压力测试

HBase主要性能压力测试有两个&#xff0c;一个是 HBase 自带的 PE&#xff0c;另一个是 YCSB&#xff0c;先简单说一个两者的区别。PE 是 HBase 自带的工具&#xff0c;开箱即用&#xff0c;使用起来非常简单&#xff0c;但是 PE 只能按单个线程统计压测结果&#xff0c;不能汇…...

正则表达式相关概念及不可见高度页面的获取

12.正则 概念:匹配有规律的字符串,匹配上则正确 1.正则的创建方式 构造函数创建 // 修饰符 igm// i 忽视 ignore// g global 全球 全局// m 换行 var regnew RegExp("匹配的内容","修饰符")var str "this is a Box";var reg new RegExp(&qu…...

深入学习 Redis - 分布式锁底层实现原理,以及实际应用

目录 一、Redis 分布式锁 1.1、什么是分布式锁 1.2、分布式锁的基础实现 1.2.1、引入场景 1.2.2、基础实现思想 1.2.3、引入 setnx 1.3、引入过期时间 1.4、引入校验 id 1.5、引入 lua 脚本 1.5.1、引入 lua 脚本的原因 1.5.2、lua 脚本介绍 1.6、过期时间续约问题&…...

Hive行转列[一行拆分成多行/一列拆分成多列]

场景&#xff1a; hive有张表armmttxn_tmp&#xff0c;其中有一个字段lot_number&#xff0c;该字段以逗号分隔开多个值&#xff0c;每个值又以冒号来分割料号和数量&#xff0c;如&#xff1a;A3220089:-40,A3220090:-40,A3220091:-40,A3220083:-40,A3220087:-40,A3220086:-4…...

解决unsloth中ptxas版本不兼容导致的RuntimeError: 从CUDA 12.6降级到12.4的实战指南

1. 问题背景与错误分析 最近在Windows平台上使用unsloth框架时&#xff0c;遇到了一个让人头疼的RuntimeError。错误信息显示ptxas编译器报错&#xff0c;错误代码是4294967295。具体表现为ptxas无法处理.version 8.6的指令集&#xff0c;而当前只支持到8.5版本。这个错误通常发…...

绵羊行为检测数据集2276张VOC+YOLO格式

绵羊行为检测数据集2276张VOCYOLO格式数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;2276 标注数量(xml文件个数)&#xff1a;2276 标注数量…...

杰理之数字MIC使用补充【篇】

SFR(JL_ASS->CLK_CON, 0, 2, 3);...

这家口腔机构,如何用AI把到院成本从1200+打到310元?

广东有一家口腔机构&#xff0c;三级专科&#xff0c;种植体量在区域排前三。 听起来很牛吧&#xff1f;但老板跟我聊天的时候&#xff0c;愁得不行。他说&#xff0c;抖音投放成本飘高&#xff0c;线索到院率低&#xff0c;客服人手不足&#xff0c;加微后无差别群发&#xff…...

SAP CO-PA获利能力分析:关键设置与事务码实战指南

1. SAP CO-PA模块入门&#xff1a;为什么你需要掌握获利能力分析 第一次接触SAP CO-PA模块时&#xff0c;我完全被那些专业术语搞晕了。直到参与了一个零售行业的项目&#xff0c;才真正理解这个模块的价值所在。想象一下&#xff0c;你是一家快消品公司的财务分析师&#xff0…...

终极Python量化分析指南:5个技巧快速掌握通达信数据接口

终极Python量化分析指南&#xff1a;5个技巧快速掌握通达信数据接口 【免费下载链接】mootdx 通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx MOOTDX是一个基于Python的通达信数据接口实现&#xff0c;为量化分析开发者和股…...

WorkshopDL:跨平台资源获取的开源工具解决方案

WorkshopDL&#xff1a;跨平台资源获取的开源工具解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 在游戏模组生态中&#xff0c;跨平台资源访问与高效下载一直是技术爱…...

抖音无水印下载工具:高效批量下载解决方案

抖音无水印下载工具&#xff1a;高效批量下载解决方案 【免费下载链接】douyin-downloader 项目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader 在短视频内容创作与数字资产管理领域&#xff0c;抖音平台的海量内容为创作者提供了丰富的素材来源。然…...

2026生成式引擎优化(GEO)深度实测报告:基于Hakuna Matata平台的五大主流大模型对抗性测试全景分析

摘要&#xff1a;本文以“Hakuna Matata”测试平台为基准场&#xff0c;针对百度文心一言、Moonshot AI&#xff08;Kimi&#xff09;、腾讯元宝、阿里千问、字节豆包五大国内主流生成式AI平台&#xff0c;开展了一场史无前例的生成式引擎优化&#xff08;GEO&#xff09;对抗性…...

claude code 使用

1&#xff0c;模型更换进入C盘目录 C:\Users\****\.claude 找到 settings.json这个是通义千问模型{"env": {"ANTHROPIC_AUTH_TOKEN": "sk-3db74945b4a****","ANTHROPIC_BASE_URL": "https://dashscope.aliyuncs.com/apps/anthro…...