結(jié)合設(shè)計(jì)經(jīng)驗(yàn)與營(yíng)銷實(shí)踐,提供有價(jià)值的互聯(lián)網(wǎng)資訊
以上是由福州網(wǎng)站建設(shè)的小編為你分享了"tp6 redis緩存一定要序列化嗎"文章,如果你在這方面有什么問(wèn)題,隨時(shí)聯(lián)系我們
熊貓燒香 2022年11月25日
看了下他的源碼,$serialize = $this->options['serialize'][0] ?? "serialize";意思就是如果配置文件里不配置serialize參數(shù),默認(rèn)就用serialize序列化,看到上面回答里有用trim,trim在能取到redis值的時(shí)候沒(méi)問(wèn)題,但是當(dāng)redis的值不存在,trim就會(huì)報(bào)一個(gè)參數(shù)為null的錯(cuò)誤,所以要找一個(gè)可以兼容null值的函數(shù),目前我找到的是strval,cache.php配置文件里改成:'serialize' => ['strval','strval']
huguo0314 2021年07月23日
TP6的緩存配置中有一個(gè) serialize 把這個(gè)配置改一下就可以了 .
熊貓燒香 2022年11月24日
回復(fù) huguo0314 : 'serialize' => ['trim', 'trim']; 這樣會(huì)有個(gè)問(wèn)題,如果redis沒(méi)有這個(gè)值,會(huì)報(bào)一個(gè)trim參數(shù)為null的錯(cuò)誤,所以這就是tp6的一個(gè)bug
意志與靈魂 2021年07月29日
哦,好的,謝謝,我試一下
huguo0314 2021年07月27日
回復(fù) 意志與靈魂 :
看對(duì)方redis緩存的數(shù)據(jù)結(jié)構(gòu),如果是json格式,可以'serialize' => ['json_encode', 'json_decode'];
如果是純字符串的話,也可以什么都不做'serialize' => ['trim', 'trim']; 總之'serialize'為空的話,框架就默認(rèn)序列化了。
意志與靈魂 2021年07月27日
今天才登上來(lái)看到,謝謝你的答復(fù),請(qǐng)問(wèn)是這樣子設(shè)置嗎?我這樣設(shè)置好像沒(méi)有反應(yīng),還是要序列化
'redis_pand' => [ // Pandora
'type' => 'redis',
'host' => '127.0.0.1',
'select' => '1',
'port' => '7008',
'serialize' => []
],