日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

msgpack pack php,msgpack_pack和redis的诡异事

發布時間:2023/12/19 php 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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的诡异事的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。