StackExchange.Redis.RedisServerException 针对持有错误类型值的密钥的WRONGTYPE操作

news2024/11/16 3:43:12

Redis 的异常消息:StackExchange.Redis.RedisServerException:“WRONGTYPE Operation against a key holding the wrong kind of value”

最近一个较早的项目新增一些功能,业务中服务端需要在token中自动获取用户相关信息的操作,项目中已经封装了redis帮助类,获取用户信息使用的方法如下:

 接口开发完成后,测试过程中开始为了方便,使用配置过滤token验证,如下:

IsVerifyToken在配置文件中设置为0,所以没有发现获取token异常问题,当部署本地给前端测试时,才发现总是获取不到用户相关信息的问题,经测试报了文章开头的异常,报错异常方法:

在var hashFields = redisConnection.GetDatabase().HashGetAll(key);执行此句的时候报错,经过一番测试查找,原来是存储类型的问题。

以下是检索键值的命令:

  • 如果值是字符串类型 -> GET<key>
  • 如果值是哈希类型 -> HGET 或 HMGET 或 HGETALL<key>
  • 如果值是列表类型 -> lrange<key> <start> <end>
  • 如果值是集合类型 -> smembers<key>
  • 如果值是排序集类型 -> ZRANGEBYSCORE<key> <min> <max>
  • 如果值是流类型 -> xread count <count>streams <key> <ID>

 由于项目与一些三方有合作,此项目没有登录接口,使用三方登录并按照三方规则验证token,(时间有些久,部分业务功能有些记不清楚了)由于本机存储为字符串类型的json串,而这个老项目实际存储的类型为哈希类型,所以使用在本机的token出现了异常,于是本机redis创建哈希类型的数据,在使用新创建的key获取就可以了。

存储方法:

 使用工具查看:

 

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

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

相关文章

web模块_2(SQL注入,上传文件的权限获取)

1题目描述&#xff1a;你知道index.php的备份文件名吗&#xff1f; index.php的备份文件名为index.php.bak2题目描述 php中&#xff0c;双等号是弱类型比较。判断是否相等&#xff0c;不判断格式。 判断格式是否相等。“0a”0为True&#xff0c;“1235a"不算数字&#xf…

从原理聊JVM(一):染色标记和垃圾回收算法

作者&#xff1a;京东科技 康志兴 1 JVM运行时内存划分 1.1 运行时数据区域 • 方法区 属于共享内存区域&#xff0c;存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。运行时常量池&#xff0c;属于方法区的一部分&#xff0c;用于存放编译期生…

spring的BeanFactory和applicationContext有什么区别?

一、加载bean时机不同 ApplicationContext是一次性立刻加载,比较消耗资源但是后续读取非常快,会将spring中所有的bean进行初始化,全部实例化到spring中!!属于饿汉模式加载。 Beanfactory是一个用来管理bean对象的工厂&#xff0c;加载bean的时候不会立刻一次性加载,使用的是惰性…

【C语言】分支语句和循环语句(下)

【C语言】分支语句和循环语句&#xff08;下&#xff09; 1.for循环1.2 语法1.3 break和continue在for循环中1.4 for语句的循环控制变量1.5 一些for循环的变种1.6一道笔试题 2. do……while&#xff08;&#xff09;循环2.1 do语句的语法2.2 do语句的特点2.3 do while循环中的b…

Python多线程慎用shutil.make_archive打包

Python多线程慎用shutil.make_archive打包 记一下在工作中遇到一个错误&#xff0c;先说一下结论shutil.make_archive是线程不安全的&#xff0c;要慎重使用&#xff01;&#xff01;&#xff01; 参考&#xff1a;https://stackoverflow.com/questions/41625702/is-shutil-mak…

【C++】从C语言入门C++的基础知识

C基础知识 前言1. C关键字2. 命名空间namespace命名空间的创建命名空间的使用命名空间的注意事项 3. C输入&输出4. 缺省参数概念分类全缺省参数半缺省参数 5. 函数重载概念实现C为什么能进行函数重载C和C的相互调用&#xff08;可以不用看&#xff09; 6. 引用概念注意事项…

相参积累

原理 在探测远距离目标时&#xff0c;由于目标回波信号比较微弱&#xff0c;信号幅度很小&#xff0c;从而导致接收信号的信噪比&#xff08;SNR&#xff09;过低&#xff0c;以至于信号处理算法检测不到目标&#xff0c;从而发生漏检。 在脉冲体制雷达中&#xff0c;雷达系统…

Oracle创建物化视图

Oracle创建物化视图 物化视图的语法物化视图的创建关于手动刷新创建手动刷新的物化视图 查看物化视图删除物化视图 物化视图的语法 物化视图的创建语法&#xff0c;如下所示&#xff1a; create materialized view [view_name] [ build immediate | build deferred ] [ refre…

LRU算法和LFU算法

LRU&#xff08;Least Recently Used&#xff09;最近最少使用&#xff0c;淘汰最近最少使用的数据&#xff0c; LFU&#xff08;Least Frequently Used&#xff09;最近最不频繁用&#xff0c;淘汰最不常用的数据。 LRU算法 传统的LRU基于链表实现。基本的一个LRU算法实现就…

Opencv 基本操作八 不均匀光照下的图像二值化探讨

在进行图像二值化时总是存在一些明部、暗部的干扰&#xff0c;单一的使用opencv提供的原始二值化方法很难做到预期效果。一般我们都会采用分块二值化&#xff08;将图像切为多个局部进行二值化&#xff09;、对比度提升&#xff08;对值域进行线性或者非线性变换、直方图均衡化…

C#串口通信从入门到精通(2)——串口相关参数介绍

1、端口号&#xff08;Port&#xff09; 我们使用一个串口的时候&#xff0c;首先是要打开这个串口&#xff0c;那么我们怎么知道电脑上现在支持几个串口呢&#xff1f;对应的端口号又是什么呢&#xff1f; 由于我的电脑系统是window11&#xff0c;下面就以window11为例介绍如…

网络请求实战-缓存、缓存清理和HTTP缓存

目录 缓存介绍 清空策略&#xff08;FIFO&#xff09; 实战&#xff1a;fifo的memory函数 实战&#xff1a;LRU算法 HTTP缓存 Cache-Control 强制缓存 协商缓存 协商缓存-2&#xff08;用的最多的&#xff09; 小结 缓存介绍 早期cpu&#xff0c;内存设计上都有缓存…

开发常用的 Linux 命令4(系统、进程和其它)

开发常用的 Linux 命令4&#xff08;系统、进程和其它&#xff09; 作为开发者&#xff0c;Linux是我们必须掌握的操作系统之一。因此&#xff0c;在编写代码和部署应用程序时&#xff0c;熟练使用Linux命令非常重要。这些常用命令不得不会&#xff0c;掌握这些命令&#xff0…

【JUC】volatile和JMM

【JUC】volatile和JMM 文章目录 【JUC】volatile和JMM1. volatile1.1 特点1.2 内存语义 2. 内存屏障2.1 分类2.2 什么叫保证有序性&#xff1f;2.3 内存屏障的4种插入策略 3. volatile特性3.1 保证可见性3.2 volatile读写过程3.3 没有原子性3.4 指令禁重排(有序性) 4. 正确使用…

python标识符概念及规范

在python中 能取名字的东西非常非常多 例如 我们之前学的变量 以及后面要接触的 函数 类&#xff0c;等等&#xff0c;等等 而我们给这些取的名字 被统称为 标识符 而 python中 标识符的命名也是有限制的 主要有三种 1 内容限定 2 大小写铭感 3 不能使用关键字 内容限定来讲…

leetcode6_N字形变换

如有错误&#xff0c;感谢不吝赐教、交流 leetcode6 题目描述 将一个给定字符串 s 根据给定的行数 numRows &#xff0c;以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 “PAYPALISHIRING” 行数为 3 时&#xff0c;排列如下&#xff1a; P A H N A P L S I…

HTB-SecNotes

HTB-SecNotes 信息收集8808端口80端口通过CSRF获取通过二次注入 立足tyler -> administrator 信息收集 8808端口 Windows IIS 10.0 可以从官方文档查看10.0版本可能的操作系统。 80端口 通过CSRF获取 目录扫描发现需要登陆后继续进一步操作啊。 对其进行简单的SQL注入测…

数据库基础篇 《7.单行函数》

目录 1. 函数的理解 1.1 什么是函数 1.2 不同DBMS函数的差异 ​编辑1.3 MySQL的内置函数及分类 ​编辑 2. 数值函数 2.1 基本函数 ​编辑 2.2 角度与弧度互换函数 2.3 三角函数 ​编辑 2.4 指数与对数 ​编辑 2.5 进制间的转换 ​编辑3. 字符串函数 ​编辑…

SAM(segment anything model)分割一切 Demo测试及API调用

SAM 分割一切 一&#xff0c;SAM介绍1.1 介绍1.2 项目链接 二&#xff0c;Demo-Test&#xff1a;2.1 Demo功能介绍2.1.1&#xff0c;首页就是这个SAM&#xff0c;点击try demo&#xff0c;可以选择它的自带图片&#xff0c;也可以自己添加。2.1.2 , 自己上传图片测试&#xff1…

[java基础]面向对象(五)

访问控制修饰符&#xff1a;--------------保护数据的安全(隐藏数据、暴露行为)&#xff0c;实现封装 public&#xff1a;公开的&#xff0c;任何类 private&#xff1a;私有的&#xff0c;本类 protected&#xff1a;受保护的&#xff0c;本类、派生类、同包类 默认的&…