最近项目里面出现了个bug,把数据从数据库中读取后又存取到redis里面,之后再读取。奇怪的是,有一个 字段读取不到。

public class Circle  {

    private String id; // 圈子主键ID
private String code; // 圈子编码
private String name; // 圈子名称
private String logo; // 圈子头像
private String parentType;// 圈子分类父ID
private String type; // 圈子分类
private String introdruce; // 圈子简介
private String advertise; // 圈子公告
private String creator; // 圈子创建人,圈主,关联名片ID
private Date createTime; // 创建时间
private long updateTime; // 更新时间
private int permission = -1; // 加入权限 1暗号,2审核,0直接加入
private String password; // 圈子暗号
private long passwordExpire = -1; // 圈子暗号失效时间
private int permissionView = -1; // 圈子是否对所有人可见 0:是1:否
private int topNum; // 推荐排序
private int orderNum; // 推荐排序
private String province; // 省名称
private String city; // 市名称
private int provinceCode; // 省代码
private int cityCode; // 市代码
private String qrCode;//社群二维码
private int state; // 删除状态 1删除,0未删除 2 封号
private int tId;//云信ID
private int bill; // 是否有群钱包权限, 0没有,1有
private int videoLiveAuth; // 是否有视频授权权限, 0没有,1有
private int audioLiveAuth; // 是否有音频授权权限, 0没有,1有 private String shareUrl;//静态化分享地址 private int muteState; //社群禁言状态 1全体禁言 0全体解除禁言 (默认)
private int chatState;// 私聊状态 0 可以私聊 (默认) 1 禁止私聊 private Integer dynamicOrder; //动态排序字段 private String adPic;//广告图片
private String adUrl;//广告链接
private String noticePic;//公告图片
private String noticeUrl;//公告链接 private String tip; //群打赏 private String sealReason; //社群封号原因 private String yunId; //省略get set代码
}

没有获取的字段是pId,存取的时候 先从数据库中读取,这个时候是有值的。再把整个对象 序列化后存取。但是读的时候总是0.

原因就是:使用idea的get/set快捷生成建的方法:

public int gettId() {return tId;
} public void settId(int tId) {
this.tId = tId;
}

经过redis序列化是获取不到的。

而且这个get set 也不太标准,具体的源码没找到,但是把 tId改成tid 再重新生成get set方法是可以获取的了。因为这个类使用到的地方太多,缓存采取的策略是 重新写一个 entity,把tid重新赋值,然后把这个新的entity 放到缓存里面。这样既可获取。

redis 序列化get、set获取不到原因记录的更多相关文章

  1. SpringBoot修改Redis序列化方式

    前言 由于Springboot默认提供了序列化方式并不是非常理想,对于高要求的情况下,序列化的速度和序列化之后大小有要求的情况下,不能满足,所以可能需要更换序列化的方式. 这里主要记录更换序列化的方式 ...

  2. 自定义redis序列化工具

    redis一个优点就是可以将数据写入到磁盘中. 我们知道写入磁盘的数据实际上都是以字节(0101这样的二进制数据)的形式写入的. 这意味着如果我们要将一个对象写入磁盘,就必须将这个对象序列化. jav ...

  3. Springboot+Redis序列化坑

    今天在测试springboot整合redis的时候遇到下面这个坑,百度来百度去发现提示都是ajax的问题,真的是醉了,错误提示如下所示,不信大家可以直接复制百度一下答案是什么(流泪中....),错误如 ...

  4. 一文彻底理解Redis序列化协议,你也可以编写Redis客户端

    前提 最近学习Netty的时候想做一个基于Redis服务协议的编码解码模块,过程中顺便阅读了Redis服务序列化协议RESP,结合自己的理解对文档进行了翻译并且简单实现了RESP基于Java语言的解析 ...

  5. redis 序列化存入对象

    redis 序列化存入对象 //序列化 public static byte [] serialize(Object obj){ ObjectOutputStream obi=null; ByteAr ...

  6. Redis序列化存储Java集合List等自定义类型

    在"Redis学习总结和相关资料"http://blog.csdn.net/fansunion/article/details/49278209 这篇文章中,对Redis做了总体的 ...

  7. Redis 序列化方式StringRedisSerializer、FastJsonRedisSerializer和KryoRedisSerializer

    当我们的数据存储到Redis的时候,我们的键(key)和值(value)都是通过Spring提供的Serializer序列化到数据库的.RedisTemplate默认使用的是JdkSerializat ...

  8. Redis高并发快的3大原因详解

    1. Redis的高并发和快速的原因 1.redis是基于内存的,内存的读写速度非常快: 2.redis是单线程的,省去了很多上下文切换线程的时间: 3.redis使用多路复用技术,可以处理并发的连接 ...

  9. Android通讯录管理(获取联系人、通话记录、短信消息)

    前言:前阵子主要是记录了如何对联系人的一些操作,比如搜索,全选.反选和删除等在实际开发中可能需要实现的功能,本篇博客是小巫从一个别人开源的一个项目抽取出来的部分内容,把它给简化出来,可以让需要的朋友清 ...

随机推荐

  1. dip,px,sp区别及使用场景

    1.区别 dip(device independent pixels)——设备独立像素:这个和设备硬件有关,一般哦我们为了支持WCGA.HVGA和QVGA推荐使用这个,不依赖于像素.等同于dp. px ...

  2. 时间格式为yyyymmdd的String类型的时间,计算时间间隔有错误

    时间格式类型为yyyymmdd,并且为String类型,计算时间间隔有误,一直搞不清楚是什么原因.网上百度了许多,时间格式基本都是yyyy-mm-dd这样的时间格式的,但是yyyymmdd这样的时间格 ...

  3. Maven仓库汇总

    来源:http://tianya23.blog.51cto.com/1081650/386908 1.maven 仓库地址: 共有的仓库http://repo1.maven.org/maven2/ht ...

  4. 数据库分库分表(一)常见分布式主键ID生成策略

    主键生成策略 系统唯一ID是我们在设计一个系统的时候常常会遇见的问题,下面介绍一些常见的ID生成策略. Sequence ID UUID GUID COMB Snowflake 最开始的自增ID为了实 ...

  5. OSI及TCP/IP的概念和区别

    什么是TCP/IP协议 TCP/IP协议(Transfer Controln Protocol/Internet Protocol)叫做传输控制/网际协议,又叫网络通讯协议,这个协议是Internet ...

  6. 深入js之基本语法

    周末正好有空就研究了下汤姆大叔的js系列博客,虽然只是学到点皮毛,依然获益匪浅.不得不说大牛的境界岂是吾等小辈可理解. 变量: js有隐含的全局概念,意味着不声明的所有变量都是全局对象的属性. fun ...

  7. CSS- 文本超出指定宽度后隐藏并显示为省略号

    一般的文字截断(适用于内联与块): .text-overflow { display:block;/*内联对象需加*/ width:25em; word-break:keep-all;/* 不换行 * ...

  8. 第一章:初识PHP

    Web程序工作原理介绍? 工作方式? 浏览器首先向Web服务器发出请求,Web服务器对请求做出响应,将响应数据发送给客户端浏览器,通常是一个HTML文件,然后通过浏览器把HTML文件信息显示在屏幕上. ...

  9. 微信小程序——动画操作时,rpx 和 px 的转换计算。

    嫌长版本: var rpx = 10000; var systemInfo = wx.getSystemInfoSync(); var px = rpx / 750 * systemInfo.wind ...

  10. RabbitMQ---8、连接断开处理-断线重连

    本文转载于:https://www.itsvse.com/thread-4636-1-1.html: 参考文献:http://www.likecs.com/show-29874.html:https: ...