Redis_基础

在这里插入图片描述

Redis 命令启动、配置密码

Redis是绿色软件,所以直接解压就能使用
配置文件为:redis.windows.conf
启动redis 服务:

redis-server.exe redis.windows.conf

启动客户端:

redis-cli.exe

默认没有给Redis配置密码,所以在配置文件中配置密码

将密码设置为123456
# requirepass foobared改成
requirepass 123456

重新启动服务端,登录客户端的时候加上 -a 密码来登录;项目中就不用密码了

redis-server.exe redis.windows.conf -h localhost -p 6379 -a 123456

存放数据类型

在这里插入图片描述

Redis常用命令

String

在这里插入图片描述
SETEX为验证码场景
SETNX集群互斥

哈希

在这里插入图片描述

列表

在这里插入图片描述

集合

在这里插入图片描述

有序集合

在这里插入图片描述

通用命令

在这里插入图片描述

在Spring中使用Redis

导入坐标、配置数据源、配置类

在这里插入图片描述
在这里插入图片描述
redis实际上是创建了16个数据库,互相隔离;这里写索引为0-15
在这里插入图片描述
在这里插入图片描述

操作String类型数据

使用注入的RedisTemplate
在这里插入图片描述
在这里插入图片描述

注意代码中使用的函数不是以之前命令的名称进行命名的

我们之前使用了String的序列化器,那么在redis的客户端中,key是没有乱码的;但是值有乱码;
在这里插入图片描述

Hash操作

在这里插入图片描述

列表(list)类数据:

@Test
public void testList(){//Lpush lrange rpop llenListOperations listOperations = redisTemplate.opsForList();listOperations.leftPushAll("mylist","a","b","c"); //lpush多个valuelistOperations.leftPush("mylist","d"); //lpush单个valueList mylist = listOperations.range("mylist",0,-1); //lrangeSystem.out.println(mylist);listOperations.rightPop("mylist"); //rpopLong size = listOperations.size("mylist"); //llenSystem.out.println(size);
}

集合类数据:

@Test
public void testSet(){//sadd smembers scard sinter sunion sremSetOperations setOperations = redisTemplate.opsForSet();setOperations.add("set1","a","b","c","d"); //saddsetOperations.add("set2","a","b","x","y");Set members = setOperations.members("set1"); //smembersSystem.out.println(members);Long size = setOperations.size("set1"); //scardSystem.out.println(size);Set intersect = setOperations.intersect("set1","set2"); //sinter取交集System.out.println(intersect);Set union = setOperations.union("set1","set2"); //sunion取并集System.out.println(union);setOperations.remove("set1","a","b"); //srem
}

有序集合类数据:

@Test
public void testZset(){//zadd zrange zincrby zremZSetOperations zSetOperations = redisTemplate.opsForZSet();zSetOperations.add("zset1","a",10); //zaddzSetOperations.add("zset2","b",12);zSetOperations.add("zset1","c",9);Set zset1 = zSetOperations.range("zset1",0,-1); //zrangeSystem.out.println(zset1);zSetOperations.incrementScore("zset1","c",10); //zincrbyzSetOperations.remove("zset1","a","b"); //zrem
}

通用命令

@Test
public void testCommon(){//keys exists type delSet keys = redisTemplate.keys("*"); //keysSystem.out.println(keys);Boolean name = redisTemplate.hasKey("name"); //existsBoolean set1 = redisTemplate.hasKey("set1");for(Object key : keys){DataType type = redisTemplate.type(key); //typeSystem.out.println(type.name());}redisTemplate.delete("mylist"); //del
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/895919.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络通信基础:端口、协议和七层模型详解,网络安全零基础入门到精通实战教程!

一、端口和协议的概念 1.在网络技术中,端口(Port) 大致有两种意思: 一是物理意义上的端口,比如,ADSL Modem、集线器、交换机、路由器用于连接其他网络设备的接口,如RJ-45端口、SC端口等等。 二是逻辑意义上的端口&…

Bug:Goland debug失效详细解决步骤【合集】

Bug:Goland debug失效详细解决步骤【合集】 今天用Goland开发时,打断点,以debug方式运行,发现程序并没有断住,程序跳过了断点,直接运行结束。网上搜寻了大量文章,最后得以解决,特此在…

pycharm社区版有个window和arm64版本,到底下载哪一个?还有pycharm官网

首先pycharm官网是这一个。我是在2025年2月16日9:57进入的网站。如果网站还没有更新的话,那么就往下滑一下找到 community Edition,这个就是社区版了免费的。PyCharm:适用于数据科学和 Web 开发的 Python IDE 适用于数据科学和 Web 开发的 Python IDE&am…

WordPress Ai插件:支持提示词生成文章和chat智能对话

源码介绍 适用于 WordPress 的 AI 助手开源免费插件展开介绍,包含插件功能、使用说明、注意事项等内容,为 WordPress 用户提供了一个集成多种 AI 模型的工具选择。 插件概述:插件名称为小半 WordPress AI 助手,支持多种 AI 模型&…

Spring Boot02(数据库、Redis)---java八股

数据库相关 Mybatis的优缺点 优点: 基于 SQL 语句编程,相当灵活,不会对应用程序或者数据库的现有设计造成任何影响,SQL 写在 XML 里,解除 sql 与程序代码的耦合,便于统一管理;提供 XML 标签&am…

【LeetCode】LCR 139. 训练计划 I

题目 教练使用整数数组 actions 记录一系列核心肌群训练项目编号。为增强训练趣味性,需要将所有奇数编号训练项目调整至偶数编号训练项目之前。请将调整后的训练项目编号以 数组 形式返回。 示例 1: 输入:actions [1,2,3,4,5] 输出&#…

波导阵列天线 学习笔记9 使用紧凑高效率馈网的宽带圆极化阵列天线

摘要: 一种宽带圆极化波导阵列天线在本文中提出。所提出的阵列天线包括四个反向对称的(antipodally)脊单元和一个有着插入阶梯腔体的两个正交膜片的紧凑型馈网。两个器件都是宽带的并且它们能独立地或者一起工作。所提出的拓扑给出了一种为大规模阵列的基础的2x2波导…

【AI战略思考15】我对做自媒体视频博主的初步探索和一些思考

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】【读书与思考】【AI应用】 导言 因为自己找工作可能没那么快和顺利,事实是比我之前想象的要难很多,所以这几天探索了下自己能否尝试做自媒体或者视频博主来尝试赚点钱,如果做…

nodejs:express + js-mdict 网页查询英汉词典,能显示图片

向 DeepSeek R1 提问: 我想写一个Web 前端网页,后台用 nodejs js-mdict , 实现在线查询英语单词,并能显示图片 1. 项目结构 首先,创建一个项目目录,结构如下: mydict-app/ ├── public/ │ ├── …

【数据分析】2.数据分析业务全流程

业务流程方法论:3阶段6步骤 一、课程核心内容结构 1. 方法论概述 目标:系统性地解决商业中的关键问题框架:分为三个阶段,每个阶段包含两个步骤适用场景:适用于数据分析师、业务经理等需要通过数据分析支持决策的从业…

【后端】k8s

1. 命令 1.1 获取service服务 获取集群内所有命名空间的service服务 sudo kubectl get service --all-namespaces 获取集群内指定命名空间的service服务 sudo kubectl get service -n命名空间 当权限限制到一个命名空间时,只能使用下面这个 sudo kubectl -n 命名空间 get se…

Mybatis MyBatis框架的缓存 一级缓存

1. 缓存的概念 缓存的概念 在内存中临时存储数据,速度快,可以减少数据库的访问次数。经常需要查询,不经常修改的数据,不是特别重要的数据都适合于存储到缓存中。 2.Mybatis缓存 mybatis包含了一个非常强大的查询缓存特性&#…

Linux csplit 命令实现日志文件的拆分

目录 一. 项目背景二. 通过 csplit 命令按照行数进行切割2.1 步骤分解验证2.2 直接拆分 三. 文件合并后与原文件进行diff3.1 通过 sed 命令进行合并3.2 通过 cat 命令进行合并 一. 项目背景 ⏹需要的问题 项目中需要获取某个war产生的log文件,由于是商用环境的log…

【EndNote】WPS 导入EndNote 21

写在前面:有没有人有激活码,跪求! EndNote,在文献管理和文献引用方面很好用。写文章的时候,使用EndNote引入需要的文献会很方便。我目前用的WPS,想把EndNote的CWYW(Cite While You Write&#…

嵌入式0xDEADBEEF

在嵌入式系统中,0xDEADBEEF 是一个常见的“魔数”(magic number),通常用于调试和内存管理。它的含义和用途如下: 1. 调试用途 未初始化内存的标记:在调试时,0xDEADBEEF 常用于标记未初始化或已…

RT-Thread+STM32L475VET6实现红外遥控实验

文章目录 前言一、板载资源介绍二、具体步骤1. 确定红外接收头引脚编号2. 下载infrared软件包3. 配置infrared软件包4. 打开STM32CubeMX进行相关配置4.1 使用外部高速时钟,并修改时钟树4.2 打开定时器16(定时器根据自己需求调整)4.3 打开串口4.4 生成工程 5. 打开HW…

【HarmonyOS Next】鸿蒙应用进程和线程详解

【HarmonyOS Next】鸿蒙应用进程和线程详解 一、前言 进程的定义: 进程是系统进行资源分配的基本单位,是操作系统结构的基础。 在鸿蒙系统中,一个应用下会有三类进程: (1) 主进程, (2) ExtensionAbility进程&#xff…

迪威模型网:免费畅享 3D 打印盛宴,科技魅力与趣味创意并存

还在为寻找优质3D打印模型而发愁?快来迪威模型网(https://www.3dwhere.com/),一个集前沿科技与无限趣味于一体的免费3D打印宝藏平台! 踏入迪威模型网,仿佛开启一场未来科技之旅。其“3D打印”专区&#xff…

力扣LeetCode: 1287 有序数组中出现次数超过25%的元素

题目: 给你一个非递减的 有序 整数数组,已知这个数组中恰好有一个整数,它的出现次数超过数组元素总数的 25%。 请你找到并返回这个整数 示例: 输入:arr [1,2,2,6,6,6,6,7,10] 输出:6提示: …

一文看常见的消息队列对比

一、核心特性对比表 维度KafkaRabbitMQRocketMQPulsar架构设计分布式日志系统,依赖ZooKeeper基于AMQP协议的代理模型主从架构NameServer协调分层架构(BrokerBookKeeper)单机吞吐量100万 TPS5万 TPS50万 TPS150万 TPS消息延迟毫秒级&#xff…