set进去redis的数据,未经过msgpack_pack之前是相同的,

从redis取出来的数据会不同

导致msgpack_unpack失败,报502错误function get_full_table(){

if(isset($this->tmp_menu_table)){

return $this->tmp_menu_table;

}

if(!isset($this->redis)){

$this->load->library('redis', array('connection_group'=>'default'));

}

$t = $this->redis->get('cache_menu_list');

//echo strlen($t);exit; 经测试$t获取的长度时候不同

if($t && !empty($t)){

//此处会报502错误

$this->tmp_menu_table = msgpack_unpack($t);

return $this->tmp_menu_table;

}

$this->db->order_by('order_no');

$result = $this->db->get($this->_table_name)->result();

$arr = array();

foreach ($result as $k=>$v) {

$arr[$v->menu_id] = $v;

}

$this->redis->set('cache_menu_list', msgpack_pack($arr));

$this->tmp_menu_table = $arr;

return $arr;

}

改用serialize和unserialize未再报过502错误

由此可以肯定是msgpack_pack的问题

当然也可能是msgpack跟redis的兼容问题

看来虽然msgpack的压缩虽然大些,但并不适合正式场合用途

尚未测试每次msgpack_pack的数据是否一致,晚一些测试

msgpack pack php,msgpack_pack和redis的诡异事相关推荐

  1. 探寻 Redis 内存诡异增长的元凶

    一.现象 实例名:r-bp1cxxxxxxxxxd04(主从) 时间:2017-11-16 12:26~12:27 问题:一分钟内存上涨了2G,如下图所示: 键值规模:6000万左右 二.Redis内 ...

  2. msgpack-c 官方文档整理翻译之pack

    msgpack::packer Supported types msgpack::packer 将任何数据打包成 msgpack 格式.目前支持以下格式: https://github.com/msg ...

  3. 基于Redis的分布式限流详解

    前言 Redis除了能用作缓存外,还有很多其他用途,比如分布式锁,分布式限流,分布式唯一主键等,本文将和大家分享下基于Redis分布式限流的各种实现方案. 一.为什么需要限流 用最简单的话来说:外部请 ...

  4. redis 内存不足 排查_Redis——内存占用优化

    # 1.优化内存占用 了解redis的内存模型,对优化redis内存占用有很大帮助.下面介绍几种优化场景. - 1)利用jemalloc特性进行优化 上一小节所讲述的90000个键值便是一个例子.由于 ...

  5. 【C/C++类库】:msgpack 序列化

    [messagePack官网]:序列化 [GitHub]:msgpack for C/C++ 1.msgpack 静态库编译 1.msgpack 项目源码下载 github地址 2.cmake 编译配 ...

  6. 【网络编程】msgpack

    目录 实验知识点 序列化与反序列化 序列化与反序列化自定义对象 在 asio 框架下使用 msgpack 封装数据 服务端 客户端 https://www.shiyanlou.com/courses/ ...

  7. protobuf+msgpack使用笔记

    Protobuf安装 参考链接 其他版本: 3.13.0 Protobuf python接口使用 参考链接 Protobuf+Msgpack C++接口使用 写一个proto文件,plan.proto ...

  8. MessagePack 学习笔记

    封装和解析类似json的  key-value 示例 {"ID" = 333,"name"="zds","3333"=& ...

  9. .NET Core 迁移躺坑记

    最近将自己负责的一个核心接口系统从.Net Framework迁移到了.Net Core. 整体过程,从业务层面说一般般吧(整体还好但还是搞的业务有感,没出严重故障)但是技术层面上感觉其实并没有达到要 ...

最新文章

  1. 上机实践 1 初识 Java
  2. 如何提升计算机内存,怎么提高电脑物理内存
  3. C++ union 使用总结
  4. SVN错误:Attempted to lock an already-locked dir
  5. Android使用token维持登陆状态的方法
  6. window.onscroll
  7. Git 几个常用操作
  8. 简单高效地控制高亮度LED
  9. OpenGL 渲染管线理论
  10. NLP学习—12.Seq2Seq模型与Attention机制
  11. [九度][何海涛] 二叉树中和为某一值的路径
  12. scanf和getch函数的区别
  13. cd linux menu.lst,Windows 7 中使用 grldr + menu.lst 引導 linux系統和win7.
  14. IDEA生成springboot项目的两种方式
  15. 深度学习——知识点总结3(损失函数Loss)
  16. linux下硬件检测工具,Linux硬件检测工具
  17. 特斯拉Tesla Model 3整体架构解析
  18. 模板有函数模板和类模板,这个在上学期的java课里面就学了,C++应该是一样的。
  19. Linux服务器出现方向键、退格键乱码等现象解决
  20. git中patch的用法

热门文章

  1. SAP CRM orgman set的更改会触发Pricing set的创建
  2. Opportunity search in backend for status - some default system status
  3. no router configuration contained in extension component metadata
  4. SAP UI5 /UI5/IF_UI5_REP_PERSISTENCE - why I cannot deploy app to GM6
  5. SAP UI5 attachment绑相对url
  6. 关于CRM WebClient UI缓存清理的讨论
  7. SAP Kyma上创建的Lambda function背后的技术实现
  8. enterprise search for Object is not enabled
  9. SAP成都研究院廖婧:SAP C4C社交媒体集成概述
  10. 最简单的dockerfile使用教程 - 创建一个支持SSL的Nginx镜像