最近项目里面出现了个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. Flask中路由系统以及蓝图的使用

    一.Flask的路由系统 1.@app.route()装饰器中的参数 methods:当前URL地址,允许访问的请求方式 @app.route("/info", methods=[ ...

  2. 关于如何用js完成全选反选框等内容

    在学习js过程中按照视频写了这个页面 可以在点上面全选/全不选时全部选中或者取消 在单击下面的单选框时上面的全选会根据下面的单选框进行相应的调整 功能比较完善 以下是代码 <!DOCTYPE h ...

  3. Mac下常用快捷键(转)

    前提,先熟读键盘快捷键符号:http://www.cnblogs.com/EasonJim/p/6350075.html 基本操作: Command-Z 撤销 Command-X 剪切 Command ...

  4. 用Python写了一个postgresql函数,感觉很爽

    用Python写了一个postgresql函数,感觉很爽 CREATE LANGUAGE plpythonu; postgresql函数 CREATE OR REPLACE FUNCTION myfu ...

  5. (转)Mysql数据库之Binlog日志使用总结

    使用mysqlbinlog提取二进制日志 原文:http://blog.csdn.net/leshami/article/details/41962243 MySQL binlog日志记录了MySQL ...

  6. 【WinSCP】WinSCP 5.x使用密钥连接服务器

    在WinSCP 4.x中,主页面有一个添加密钥文件的选项,如下图所示 但是在WinSCP 5.x中主界面发生了很大的变化 在主页上没有了载入密钥文件的选项,那么我们应该怎么使用密钥验证呢? WinSC ...

  7. Linux Ubuntu系统下Java开发环境搭建

    操作系统:Linux x64 / Ubuntu 14.04 Java JDK版本:jdk-8u65-linux-x64.tar.gz 声明:转载请注明出处及本文链接 1. 前往ORACLE官网下载最新 ...

  8. Django 模板语言从后端传到前端

    如果我们在后端有数据动态提取到前端的时候 就需要模板语言加以渲染后再将渲染好的HTML文件传入前端 我们的views.py里的index函数里有个s变量是个列表,将数据以大括号的形式传入{" ...

  9. 如何用webgl(three.js)搭建不规则建筑模型,客流量热力图模拟

    本节课主要讲解如何用webgl(three.js)搭建一个建筑模型,客流量热力图模拟 使用技术说明: 这里主要用到了three.js,echart.js以及一些其它的js 与css技术,利用webso ...

  10. JAVA泛型——逆变

    在上篇<JAVA泛型——协变>这篇文章中遗留以下问题——协变不能解决将子类型添加到父类型的泛型列表中.本篇将用逆变来解决这个问题. 实验准备 我们首先增加以下方法,见代码清单1所示. 代码 ...