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

Redis01

springboot+redis

特点

1.高效性
2.支持多种数据结构
String,list,set,hash.zset
3.稳定性:持久化,主从复制(集群)
4.其他特性:支持过期时间,支持事务,消息订阅。

安装

1.下载安装包
redis官网地址:
https://redis.io/ (https://redis.io/)
中文网站
http://www.redis.cn/ (http://www.redis.cn/)
2.解压Redis压缩包完成即安装完毕
在这里插入图片描述

3.一些其他配置
启动服务
在redis目录下cmd,输入 redis-server.exe redis.windows.conf
默认端口号
6379
客户端
在redis目录下cmd,输入 redis-cli.exe -h localhost -p 端口号
注册成为服务
在redis目录下cmd,输入 redis-server --service-install redis.windows-service.conf --loglevel verbose
设置密码
在redis.window.conf文件夹下输入,requirepass 123456,redis.window-service.conf要同步修改
登录
在redis目录下cmd,输入 auth 密码

不同数据结构的方法

String
在这里插入图片描述

SpringBootTest
class SpringBootRedisApplicationTests {@Autowiredprivate RedisTemplate redisTemplate;@AutowiredStringRedisTemplate stringRedisTemplate;//防止乱码//存值StringRedisTemplate相当于RedisTemplate<String, String>@Testvoid contextLoads() {redisTemplate.opsForValue().set("j4061", "张三");stringRedisTemplate.opsForValue().set("j4062", "张三");}//获取值@Testvoid getValue() {System.out.println(stringRedisTemplate.opsForValue().get("j4061"));}//设置过期时间@Testvoid setTimeValue(){stringRedisTemplate.opsForValue().set("code", "123", 60, SECONDS);}//判断是否存在并设置值@Testpublic void setNX(){//如果有对应的键值,则设置值并返回true,如果没有对应的键值,则返回falseSystem.out.println(stringRedisTemplate.opsForValue().setIfPresent("j4062", "123"));//如果有对应的键值,则返回false,如果没有对应的键值,则返回trueSystem.out.println(stringRedisTemplate.opsForValue().setIfAbsent("j4062", "张三"));}

hash
在这里插入图片描述

 @Autowiredprivate StringRedisTemplate stringRedisTemplate;//存入hash@Testvoid setHash(){stringRedisTemplate.opsForHash().put("hash", "key1", "value1");stringRedisTemplate.opsForHash().put("hash", "key2", "value2");stringRedisTemplate.opsForHash().put("hash", "key3", "value3");}//获取hash@Testvoid getHash(){System.out.println(stringRedisTemplate.opsForHash().get("hash", "key1"));System.out.println(stringRedisTemplate.opsForHash().get("hash", "key2"));System.out.println(stringRedisTemplate.opsForHash().get("hash", "key3"));}//获取hash的所有key@Testvoid getHashKeys(){System.out.println(stringRedisTemplate.opsForHash().keys("hash"));}//获取hash的所有value@Testvoid getHashValues(){System.out.println(stringRedisTemplate.opsForHash().values("hash"));}//获取hash的所有entry@Testvoid getHashEntries(){System.out.println(stringRedisTemplate.opsForHash().entries("hash"));}//删除hash@Testvoid deleteHash(){stringRedisTemplate.opsForHash().delete("hash", "key1");System.out.println(stringRedisTemplate.opsForHash().get("hash", "key1"));}//判断hash中是否存在key@Testvoid hasKey(){System.out.println(stringRedisTemplate.opsForHash().hasKey("hash", "key1"));System.out.println(stringRedisTemplate.opsForHash().hasKey("hash", "key2"));System.out.println(stringRedisTemplate.opsForHash().hasKey("hash", "key3"));}

list
Redis列表是简单的字符串列表,按照插入顺序排序。你可以添
加一个元素到列表的头部(左边)或者尾部(右边)
在这里插入图片描述

public class TestList {@Autowiredprivate StringRedisTemplate stringRedisTemplate;@Testpublic void setList(){//一次添加一个元素stringRedisTemplate.opsForList().leftPush("fruits", "pear");//一次添加多个元素stringRedisTemplate.opsForList().leftPushAll("fruits", "apple", "banana", "orange");//在头部添加元素stringRedisTemplate.opsForList().leftPush("fruits", "grape");//在尾部添加元素stringRedisTemplate.opsForList().rightPush("fruits", "watermelon");//获取列表长度System.out.println(stringRedisTemplate.opsForList().size("长度"+"fruits"));//获取列表中所有元素System.out.println(stringRedisTemplate.opsForList().range("fruits", 0, -1));//获取列表中指定位置的元素System.out.println(stringRedisTemplate.opsForList().index("fruits", 2));//删除列表中指定位置的元素,如果列表中有多个 "banana",只会删除第一个stringRedisTemplate.opsForList().remove("fruits", 1, "banana");//获取列表中指定元素的索引System.out.println(stringRedisTemplate.opsForList().indexOf("fruits", "orange"));}}

set
1.Redis 的 Set 是 String 类型的无序集合。集合成员是
唯一的,这就意味着集合中不能出现重复的数据
2.Redis 中集合是通过哈希表实现的,所以添加,删
除,查找的复杂度都是 O(1)。
在这里插入图片描述

@SpringBootTest
public class TestSet {@Autowiredprivate StringRedisTemplate stringRedisTemplate;@Testvoid setSet(){// 添加元素到set,可以添加多个元素,返回添加成功的个数stringRedisTemplate.opsForSet().add("students","张三","李四","王五");}@Testvoid getSet(){// 获取set中的所有元素Set<String> set = stringRedisTemplate.opsForSet().members("students");for (String s : set){System.out.println(s);}}@Testvoid removeSet(){// 从set中移除元素stringRedisTemplate.opsForSet().remove("students", "张三");}@Testvoid sizeSet(){// 获取set的大小Set<String> set = stringRedisTemplate.opsForSet().members("students");}@Testvoid containSet(){// 判断元素是否在set中boolean b = stringRedisTemplate.opsForSet().isMember("students", "张三");System.out.println(b);}}

zset
Redis有序集合和集合一样也是string类型元素的集合,且不允许重复的成员,它用来保存需要排序的数据,例如排行榜
在这里插入图片描述

@SpringBootTest
public class TestZset {@Autowiredprivate StringRedisTemplate stringRedisTemplate;//存值@Testvoid setZset() {stringRedisTemplate.opsForZSet().add("top", "a", 1);stringRedisTemplate.opsForZSet().add("top", "b", 3);stringRedisTemplate.opsForZSet().add("top", "c", 2);(stringRedisTemplate.opsForZSet().range("top", 0, -1)).forEach(System.out::println);}//取所有值@Testvoid getZset() {//正序System.out.println(stringRedisTemplate.opsForZSet().range("top", 0, -1));//倒序System.out.println(stringRedisTemplate.opsForZSet().reverseRange("top", 0, -1));}//获取前两个值,下标从1开始@Testvoid getZsetByScore() {System.out.println(stringRedisTemplate.opsForZSet().rangeByScore("top", 1, 2));}//获取排名第2的元素,下标从0开始@Testvoid getZsetByRank() {System.out.println(stringRedisTemplate.opsForZSet().reverseRank("top", "b"));}//获取值和权重@Testvoid getZsetByScoreWithScores() {//第一种方式System.out.println(stringRedisTemplate.opsForZSet().rangeWithScores("top", 0, -1));//第二种方式Cursor< ZSetOperations.TypedTuple<String>> scan = stringRedisTemplate.opsForZSet().scan("top", ScanOptions.NONE);while (scan.hasNext()) {ZSetOperations.TypedTuple<String> next = scan.next();System.out.println(next.getValue() + "----" + next.getScore());}}//删除值@Testvoid delZset() {stringRedisTemplate.opsForZSet().remove("top", "a");System.out.println(stringRedisTemplate.opsForZSet().range("top", 0, -1));}
}

相关文章:

Redis01

springbootredis 特点 1.高效性 2.支持多种数据结构 String,list,set,hash.zset 3.稳定性&#xff1a;持久化&#xff0c;主从复制&#xff08;集群&#xff09; 4.其他特性&#xff1a;支持过期时间&#xff0c;支持事务&#xff0c;消息订阅。 安装 1.下载安装包 redis官…...

数据库中decimal、float 和 double区别

在计算机科学中&#xff0c;decimal、float 和 double 是用于表示和处理数值的不同数据类型。 - decimal 是一种精确的十进制浮点数表示&#xff0c;通常用于需要高精度计算的场景&#xff0c;比如财务应用。它能够精确表示小数&#xff0c;并且不会出现浮点数运算误差。 - flo…...

HDR视频技术之五:HDR生产流程

在介绍 HDR 的生产流程之前&#xff0c;我们先介绍下视频制作与传输的一些基本知识。 内容类型&#xff1a; 直播内容&#xff08; live content&#xff09; ——所谓的直播内容即没有后处理过程以及创作者意图。分发给用户的信息是实时产生并且实时制作并派发的。常见的应用…...

CTFshow-爆破(Web21-28)

CTFshow-爆破(Web21-28) Web21 抓包 选则dic.zip里的字典爆破&#xff0c;记得添加前缀admin: 答案admin:shark63 burp里有一个自定义迭代器&#xff0c;可以设置前几部分&#xff0c;很好用 Web22 题目失效了直接看wp吧 360quake 使用空间搜索引擎—>360quake 搜索语法…...

C++重点和练习

作业题目&#xff1a; #include <iostream> using namespace std; class Rec {const int length;int width; public:void set_length(int l);void set_width(int w);int get_length();int get_width();void show(); };#include <iostream> using namespace std; c…...

UnityShaderLab-实现溶解效果

实现思路&#xff1a; 使用一张噪声图&#xff0c;与一个Cut值计算&#xff08;加或减&#xff09;&#xff0c;将计算后的值赋值给Alpha,然后小于0的片段就被丢弃掉了。 ShaderGraph实现&#xff1a; ShaderLab实现&#xff1a; Shader "Dissolve" {Properties{_…...

SQLite 数据库学习

1.install sudo apt update sudo apt install sqlitebrowser这是一个开源的图形用户界面工具&#xff0c;专门用于开发、管理和分析 SQLite 数据库。它支持创建或导入导出表、编辑数据、执行 SQL 查询等功能。 2.python 操作数据库 Python 内置了 sqlite3 模块&#xff0c;使…...

【LeetCode: 463. 岛屿的周长 + bfs】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…...

Bean的注入、单例和多例

目录 注入Bean对象 属性注入 构造注入 属性注入专题 注入集合/数组 级联简单类型赋值 Bean的单例和多例 注入Bean对象 简单类型使用value(除Date)&#xff0c;非简单类型使用ref 属性注入 name规则&#xff1a;必须提供set方法&#xff0c;去掉set&#xff0c;第一个字…...

java 使用JSqlParser和CCJSqlParser 解析sql

maven <dependency><groupId>com.github.jsqlparser</groupId><artifactId>jsqlparser</artifactId><version>4.9</version> </dependency>解析SQL String sql "select aa,bb from b"; Statement statementCCJSq…...

Anaconda Conda Pip 的区别与联系

在Python生态中,Anaconda、Conda和Pip是三个非常重要的工具,它们在包管理和环境管理方面发挥着关键作用。 Anaconda Anaconda是一个为科学计算而设计的Python发行版,它集成了Conda、Python以及大量的数据科学相关库,如NumPy、Pandas等。Anaconda的主要优势在于它提供了一个…...

总结的一些MySql面试题

目录 一&#xff1a;基础篇 二&#xff1a;索引原理和SQL优化 三&#xff1a;事务原理 四&#xff1a;缓存策略 一&#xff1a;基础篇 1&#xff1a;定义&#xff1a;按照数据结构来组织、存储和管理数据的仓库&#xff1b;是一个长期存储在计算机内的、有组织的、可共享 的…...

【实验15】LSTM的记忆能力实验

目录 1 模型构建 1.1 LSTM层 1.1.1 自定义LSTM算子 1.1.2 nn.LSTM 1.1.3 将自定义LSTM与pytorch内置的LSTM进行对比 1.2 模型汇总 2 模型训练 2.1 训练指定长度的数字预测模型 2.2 多组训练 2.3 损失函数展示 3 模型评价 4 完整代码 5 LSTM模型门状态和单元状态的…...

SSH克隆github项目

1、生成密钥 ssh-keygen -t rsa -C "你的邮箱xxx.com" 全程回车即可&#xff08;不用输入ras文件名及密码&#xff09;、为了方便下面的公钥查看 2、配置公钥 查看公钥内容 cat c:\Users\xxx\.ssh\id_rsa.pub(修改为自己的路径及名字) 将公钥内容复制并粘贴至…...

计算机网络ENSP课设--三层架构企业网络

本课程设计搭建一个小型互联网&#xff0c;并模拟Internet的典型Web服务过程。通过此次课程设计&#xff0c;可以进一步理解Internet的工作原理和协议过程&#xff0c;并提高综合知识的运用能力和分析能力。具体目标包括&#xff1a; &#xff08;1&#xff09;掌握网络拓扑的…...

Node.js系统模块

【图书介绍】《Node.jsMongoDBVue.js全栈开发实战》-CSDN博客 《Node.jsMongoDBVue.js全栈开发实战&#xff08;Web前端技术丛书&#xff09;》(邹琼俊)【摘要 书评 试读】- 京东图书 (jd.com) 2.2.1 什么是系统模块 由于Node.js运行环境提供的API都是以模块化的方式进行开…...

React - useActionState、useFormStatus与表单处理

参考文档&#xff1a;react18.3.1官方文档 一些概念&#xff1a; React 的 Canary 和 Experimental 频道是 React 团队用于发布和测试新功能的渠道。 useActionState useActionState 是一个可以根据某个表单动作的结果更新 state 的 Hook。 const [state, formAction, isPe…...

GC常见垃圾回收算法,JVM分代模型

如何判断是垃圾&#xff1f;引用计数器和Root可达性算法 如何进行清除&#xff1f;标记清除、复制、标记整理 堆分代模型&#xff1f;Eden&#xff0c;Surevivor&#xff0c;Tenuring 一个对象从创建到消亡的过程&#xff1f; 对象什么时候进入老年代&#xff1f; 一、GC&a…...

深入探索 JVM:原理、机制与实战

一、JVM 概述 JVM&#xff08;Java Virtual Machine&#xff09;是 Java 程序运行的核心组件&#xff0c;它提供了一个独立于硬件和操作系统的执行环境&#xff0c;使得 Java 程序能够在不同平台上具有跨平台的特性。 JVM 主要由以下几部分组成&#xff1a; 类装载器&#xf…...

前端成长之路:HTML(2)

HTML中有两个非常重要的标签——表格和表单&#xff0c;在介绍之前需要先了解表格和表单的区别&#xff1a;表格是用于展示数据的&#xff1b;表单是用于提交数据的。本文主要介绍表格。 表格标签 表格主要是用于显示、展示数据的&#xff0c;并非是页面布局。它可以使本来难…...

python基础:(七)类

目录 一.创建和使用类二.使用类和实例2.1给属性指定默认值2.2修改属性的值2.2.1直接修改属性的值2.2.2通过方法修改属性的值2.2.3通过方法对属性的值进行递增 三.继承3.1子类的方法__init__()3.2给子类定义属性和方法3.3重写父类的方法 四.导入类4.1语法--1:4.2语法--2 前言 p…...

Spring AOP基础、快速入门

介绍 AOP&#xff0c;面向切面编程&#xff0c;作为面向对象的一种补充&#xff0c;将公共逻辑&#xff08;事务管理、日志、缓存、权限控制、限流等&#xff09;封装成切面&#xff0c;跟业务代码进行分离&#xff0c;可以减少系统的重复代码和降低模块之间的耦合度。切面就是…...

Golang使用etcd构建分布式锁案例

在本教程中&#xff0c;我们将学习如何使用Go和etcd构建分布式锁系统。分布式锁系统对于管理对分布式系统中共享资源的并发访问至关重要。它有助于维护一致性&#xff0c;防止竞争条件&#xff0c;并确保在任何给定时间只有一个进程独占访问资源。 我们将使用Go作为编程语言&am…...

深度学习:基于MindSpore的极简风大模型微调

什么是PEFT&#xff1f;What is PEFT&#xff1f; PEFT(Parameter Efficient Fine-Tuning)是一系列让大规模预训练模型高效适应于新任务或新数据集的技术。 PEFT在保持大部分模型权重冻结&#xff0c;只修改或添加一小部份参数。这种方法极大得减少了计算量和存储开销&#x…...

如何在 Android 项目中实现跨库传值

背景介绍 在一个复杂的 Android 项目中&#xff0c;我们通常会有多个库&#xff08;lib&#xff09;&#xff0c;而主应用程序&#xff08;app&#xff09;依赖所有这些库。目前遇到的问题是&#xff0c;在这些库中&#xff0c;libAd 需要获取 libVip 的 VIP 等级状态&#xf…...

HTML:表格重点

用表格就用table caption为该表上部信息&#xff0c;用来说明表的作用 thead为表头主要信息&#xff0c;效果加粗 tbody为表格中的主体内容 tr是 table row 表格的行 td是table data th是table heading表格标题 &#xff0c;一般表格第一行的数据都是table heading...

STM32 出租车计价器系统设计(一) 江科大源码改写

STM32 出租车计价器系统设计 功能目标 驱动步进电机模拟车轮旋转&#xff0c;并实现调速功能。 设置车轮周长和单价&#xff0c;检测车轮转速和运转时间。 计算并显示行驶里程和价格。 硬件材料 28BYJ48 五线四相步进电机和 ULN2003 驱动板模块 测速传感器模块 嵌入式小系统…...

Git基础操作快速入门

Git是一个免费开源分布式版本控制工具&#xff0c;是由Linux的作者Linus开发的第二个伟大作品。2005年由于BitKeeper软件公司对Linux社区停止了免费使用权。Linus迫不得己自己开发了一个分布式版本控制工具&#xff0c;从而Git诞生了 目前使用Git作为版本控制的开源软件&#…...

vue‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。

在Windows操作系统中,安装了nodeJs之后,并且也安装了vue依赖包,但是在cmd控制台运行vue的时候,会报错:vue‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。针对这个问题我提供如下解决办法,并且是有效的。 一、原因分析 关于尝试这个问题的主要原因,我分析主要…...

JAVA安全—SpringBoot框架MyBatis注入Thymeleaf模板注入

前言 之前我们讲了JAVA的一些组件安全&#xff0c;比如Log4j&#xff0c;fastjson。今天讲一下框架安全&#xff0c;就是这个也是比较常见的SpringBoot框架。 SpringBoot框架 Spring Boot是由Pivotal团队提供的一套开源框架&#xff0c;可以简化spring应用的创建及部署。它提…...

Milvus向量数据库05-常见问题整理

Milvus向量数据库05-常见问题整理 1-什么是PipeLine 这张图展示了一个文档处理和搜索系统的架构&#xff0c;主要分为两个部分&#xff1a;Ingestion Pipeline&#xff08;摄取管道&#xff09;和 Search Pipeline&#xff08;搜索管道&#xff09;。下面是对图中各部分的详细…...

strncpy在复制含有多个\0的字符串时遇到的问题

strncpy在复制含有多个\0的字符串的时候&#xff0c;会产生截断&#xff0c;因为strncpy在读取源字符串的时候&#xff0c;遇到了\0&#xff0c;函数会认为该字符串已经结束了&#xff0c;然后会向目标字符串内填充\0。 char buffer[100] "ak\0jl";for (int i 0; i…...

C++作业3

作业1&#xff1a; 1.定义一个矩形类Rec&#xff0c;包含私有属性length、width&#xff0c;包含公有成员方法&#xff1a; void set_length(int l);//设置长度 Void set_width(int w);//设置宽度 Int get_length();//获取长度&#xff0c;将长度的值返回给调用处 Int get_widt…...

重生之我在学Vue--第1天 Vue 3 基础与开发环境搭建

重生之我在学Vue–第1天 Vue 3 基础与开发环境搭建 文章目录 重生之我在学Vue--第1天 Vue 3 基础与开发环境搭建前言一、Vue 3 的特点与核心概念二、搭建开发环境1. 安装 Node.js2. 使用 Vite 创建 Vue 3 项目创建项目进入项目目录并安装依赖启动开发服务器 3. 理解项目结构 三…...

企业经营数据分析系统:提升决策能力的利器

搭建企业经营数据分析系统是当今企业绕不开的话题&#xff0c;企业想要在竞争激烈的市场当中突围而出&#xff0c;需要对于企业内部的各种数据了然于胸&#xff0c;同时对于外部的数据也有敏锐的把握能力&#xff0c;因此企业构建自身的经营性数据分析系统就显得尤其重要。作为…...

Linux笔记9 DNS域名解析服务器

简介 DNS&#xff08;Domain Name System&#xff09;是互联网上的一项服务&#xff0c;它作为将域名和IP地址相互映射的一个分 布式数据库&#xff0c;能够使人更方便的访问互联网。 DNS使用的是53端口&#xff0c; 通常DNS是以UDP这个较快速的数据传输协议来查询的&#x…...

鸿蒙高级开发者认证的主观题试题及答案

以下是一份鸿蒙高级开发者认证的主观题试题及答案示例,涵盖了鸿蒙开发中的多个关键技术和应用场景相关内容,希望对你有所帮助: 一、论述题(每题 20 分,共 60 分) 1. 阐述鸿蒙操作系统中分布式软总线的工作原理、核心优势以及在多设备协同应用开发场景下的应用方式,并举…...

leetcode_547 省份数量

该题主要运用了图的连通性 接着使用染色法解决该问题 染色法:标记所有节点为false 访问后 将其标记位true class Solution {int n; // 代表n个数据bool colors[201]; // 标记是否访问到void dfs(vector<vector<int>>& isConnected, int u) { // …...

【开源】一款基于SpringBoot 的全开源充电桩平台

一、下载项目文件 下载源码项目文件口令&#xff1a;动作璆璜量子屏多好/~d1b8356ox2~:/复制口令后&#xff0c;进入夸克网盘app即可保存&#xff08;如果复制到夸克app没有跳转资源&#xff0c;可以复制粘贴口令到夸克app的搜索框也可以打开&#xff08;不用点搜索按钮&#…...

react antd tabs router 基础管理后台模版

在构建 React 后台管理系统时&#xff0c;使用标签页的方式展示路由是一种高效且用户友好的设计模式。这种实现方式通常允许用户在多个页面之间快速切换&#xff0c;并保留页面的状态&#xff0c;类似于浏览器的多标签页功能。 需求分析 1.动态标签页&#xff1a;根据用户的导…...

uniapp uni-table最简单固定表头

需求&#xff1a;固定表头数据&#xff0c;在网上找了半天&#xff0c;啥都有&#xff0c;就是一直实现不了&#xff0c;最后更改代码实现 1.效果 2.主要代码讲解完整代码 表格的父级一定要设置高度&#xff0c;不然会错位&#xff0c;我看网上说设置position&#xff1a;fixed…...

从0到1实现项目Docker编排部署

在深入讨论 Docker 编排之前&#xff0c;首先让我们了解一下 Docker 技术本身。Docker 是一个开源平台&#xff0c;旨在帮助开发者自动化应用程序的部署、扩展和管理。自 2013 年推出以来&#xff0c;Docker 迅速发展成为现代软件开发和运维领域不可或缺的重要工具。 Docker 采…...

Mac软件推荐

Mac软件推荐 截图SnipasteXnipBob 快捷启动Raycast 系统检测Stats 解压缩The UnarchiverKeka&#xff08;付费&#xff09; 视频播放IINA 视频下载Downie&#xff08;付费&#xff09; 屏幕刘海TopNotchMediaMate&#xff08;付费&#xff09;NotchDrop&#xff08;付费&#x…...

No.4 笔记 探索网络安全:揭开Web世界的隐秘防线

在这个数字时代&#xff0c;网络安全无处不在。了解Web安全的基本知识&#xff0c;不仅能保护我们自己&#xff0c;也能帮助我们在技术上更进一步。让我们一起深入探索Web安全的世界&#xff0c;掌握那些必备的安全知识&#xff01; 1. 客户端与WEB应用安全 前端漏洞&#xff1…...

Unity-Webview 使用指南

Unity-Webview 使用指南 Unity-Webview 主に gree/unity-webview のリファクタリング。本家を元に改良してく&#xff01; [这里是图片001] 项目地址: https://gitcode.com/gh_mirrors/uni/Unity-Webview Unity-Webview 是一个专为 Unity 开发的 WebView 插件&#xff0c;使开…...

【Vue】自定义指令、插槽

目录 自定义指令 是什么 作用 使用方法 定义 使用 自定义指令配合绑定数据 语法 自定义指令的简写 语法 使用时机 插槽 什么是插槽 默认&#xff08;匿名&#xff09;插槽 ​编辑插槽的默认值 具名插槽 使用方法 简写 使用示例 作用域插槽 自定义指令 是什…...

AI - RAG中的状态化管理聊天记录

AI - RAG中的状态化管理聊天记录 大家好&#xff0c;今天我们来聊聊LangChain和LLM中一个重要的话题——状态化管理聊天记录。在使用大语言模型(LLM)的时候&#xff0c;聊天记录&#xff08;History&#xff09;和状态&#xff08;State&#xff09;管理是非常关键的。那我们先…...

微服务网关SpringCloudGateway、Kong比较

网关产品 1. Spring Cloud Gateway 基本信息 Spring Cloud Gateway是Spring Cloud生态系统中的一个组件&#xff0c;基于Spring 5、Project Reactor和Spring Boot 2构建。它旨在为微服务架构提供一种简单而有效的API网关解决方案。 功能特点 路由功能强大&#xff1a;使用Rou…...

MVC基础语法

文章目录 项目地址一、MVC的传值方式1.1 ViewBag和ViewData传值1.1.1 ViewBag1.1.2 ViewData 1.2 视图模型传值&#xff08;ViewModel&#xff09; 二、HttpConntext上下文三、中间件 项目地址 教程作者&#xff1a;誉尚学教育教程地址&#xff1a; https://www.bilibili.com…...

Web day09 会话技术 JWT令牌 Filter Interceptor

目录 会话技术&#xff1a; 1.Cookie&#xff1a; 2.Session&#xff1a; 3.令牌技术&#xff1a; JWT令牌&#xff1a; 生成JWT令牌&#xff1a; 校验JWT令牌&#xff08;解析生成的令牌&#xff09; 登陆时下发令牌&#xff1a; 过滤器Filter&#xff1a; 拦截器Inte…...