msgpack pack php,msgpack_pack和redis的诡异事
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的诡异事相关推荐
- 探寻 Redis 内存诡异增长的元凶
一.现象 实例名:r-bp1cxxxxxxxxxd04(主从) 时间:2017-11-16 12:26~12:27 问题:一分钟内存上涨了2G,如下图所示: 键值规模:6000万左右 二.Redis内 ...
- msgpack-c 官方文档整理翻译之pack
msgpack::packer Supported types msgpack::packer 将任何数据打包成 msgpack 格式.目前支持以下格式: https://github.com/msg ...
- 基于Redis的分布式限流详解
前言 Redis除了能用作缓存外,还有很多其他用途,比如分布式锁,分布式限流,分布式唯一主键等,本文将和大家分享下基于Redis分布式限流的各种实现方案. 一.为什么需要限流 用最简单的话来说:外部请 ...
- redis 内存不足 排查_Redis——内存占用优化
# 1.优化内存占用 了解redis的内存模型,对优化redis内存占用有很大帮助.下面介绍几种优化场景. - 1)利用jemalloc特性进行优化 上一小节所讲述的90000个键值便是一个例子.由于 ...
- 【C/C++类库】:msgpack 序列化
[messagePack官网]:序列化 [GitHub]:msgpack for C/C++ 1.msgpack 静态库编译 1.msgpack 项目源码下载 github地址 2.cmake 编译配 ...
- 【网络编程】msgpack
目录 实验知识点 序列化与反序列化 序列化与反序列化自定义对象 在 asio 框架下使用 msgpack 封装数据 服务端 客户端 https://www.shiyanlou.com/courses/ ...
- protobuf+msgpack使用笔记
Protobuf安装 参考链接 其他版本: 3.13.0 Protobuf python接口使用 参考链接 Protobuf+Msgpack C++接口使用 写一个proto文件,plan.proto ...
- MessagePack 学习笔记
封装和解析类似json的 key-value 示例 {"ID" = 333,"name"="zds","3333"=& ...
- .NET Core 迁移躺坑记
最近将自己负责的一个核心接口系统从.Net Framework迁移到了.Net Core. 整体过程,从业务层面说一般般吧(整体还好但还是搞的业务有感,没出严重故障)但是技术层面上感觉其实并没有达到要 ...
最新文章
- 上机实践 1 初识 Java
- 如何提升计算机内存,怎么提高电脑物理内存
- C++ union 使用总结
- SVN错误:Attempted to lock an already-locked dir
- Android使用token维持登陆状态的方法
- window.onscroll
- Git 几个常用操作
- 简单高效地控制高亮度LED
- OpenGL 渲染管线理论
- NLP学习—12.Seq2Seq模型与Attention机制
- [九度][何海涛] 二叉树中和为某一值的路径
- scanf和getch函数的区别
- cd linux menu.lst,Windows 7 中使用 grldr + menu.lst 引導 linux系統和win7.
- IDEA生成springboot项目的两种方式
- 深度学习——知识点总结3(损失函数Loss)
- linux下硬件检测工具,Linux硬件检测工具
- 特斯拉Tesla Model 3整体架构解析
- 模板有函数模板和类模板,这个在上学期的java课里面就学了,C++应该是一样的。
- Linux服务器出现方向键、退格键乱码等现象解决
- git中patch的用法
热门文章
- SAP CRM orgman set的更改会触发Pricing set的创建
- Opportunity search in backend for status - some default system status
- no router configuration contained in extension component metadata
- SAP UI5 /UI5/IF_UI5_REP_PERSISTENCE - why I cannot deploy app to GM6
- SAP UI5 attachment绑相对url
- 关于CRM WebClient UI缓存清理的讨论
- SAP Kyma上创建的Lambda function背后的技术实现
- enterprise search for Object is not enabled
- SAP成都研究院廖婧:SAP C4C社交媒体集成概述
- 最简单的dockerfile使用教程 - 创建一个支持SSL的Nginx镜像