最近项目里面出现了个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. hdu1024 Max Sum Plus Plus 滚动dp

    Max Sum Plus Plus Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

  2. 【JAVA-WEB】在url上追加sessionid

    HttpSession session = request.getSession(); url = url+";jsessionid="+session.getId();

  3. 部署rails遇到问题

    underfined method for has_attched_file when installing paperclip 解决 create the file paperclip.rb ins ...

  4. Django时间与时区设置问题

    在Django的配置文件settings.py中,有两个配置参数是跟时间与时区有关的,分别是TIME_ZONE和USE_TZ 如果USE_TZ设置为True时,Django会使用系统默认设置的时区,即 ...

  5. C 标准库 - ctype.h之isalnum使用

    isalnum int isalnum ( int c ); Checks whether c is either a decimal digit or an uppercase or lowerca ...

  6. JDK1.7新特性(1):Switch和数字

    Switch jdk1.7的switch语句增加了对字符串类型的支持.其实现的原理是通过字符串的hash值来比较的,代码示例如下: String name = "KiDe"; // ...

  7. 移动端的touchstart,touchmove,touchend事件中的获取当前touch位置

    前提:touchstart,touchmove,touchend这三个事件可以通过原生和jq绑定. 原生:document.querySelector("#aa").addEven ...

  8. 【深入JavaScript】一种JS的继承方法

    这些天读了John Resig的<Secrets of JavaScript Ninja>,其中讨论到JS中实现继承的方案,非常有趣,自己探索了一下,形成了笔记,放到这里. 这个方案在Re ...

  9. 述一个程序员的技能:系统安装(win7版)idea配置

    idea配置:http://www.phperz.com/article/15/0923/159043.html 作为一名计算机专业出身的程序员,组装电脑和安装系统是基本技能.打造一个安全稳定高效的开 ...

  10. 集合框架以及Map(一)

    集合又称容器,编程思想中对其的定义为持有对象 我们在使用集合或者数组时得到最多的异常就是数组下表越界异常 Java.lang.ArrayIndexOutOfBoundsException这篇文章我们不 ...