Jadual Kandungan
predis set方法很慢很慢,这是什么原因?
Sep 11, 2016 am 11:34 AM
php
这是我的代码:
<code><?php /** * User: mh * Date: 2016/9/9 * Time: 19:12 */ namespace Session; use SessionHandlerInterface; class RedisSession implements SessionHandlerInterface { private $redis; // 连接Redis private function connect() { if(!$this->redis) { $cfg = [ 'scheme' => env('REDIS_SCHEME', 'tcp'), 'host' => env('REDIS_HOST', '127.0.0.1'), 'port' => env('REDIS_PORT', 6379) ]; $this->redis = new \Predis\Client($cfg); } } /** * Close the session * @since 5.4.0 */ public function close() { return true; } /** * Destroy a session * @return boolean * @since 5.4.0 */ public function destroy($session_id) { $this->connect(); $this->redis->del($session_id); return true; } /** * Cleanup old sessions * @return boolean * @since 5.4.0 */ public function gc($maxlifetime) { return true; } /** * Initialize session * @since 5.4.0 */ public function open($save_path, $sessionName) { return true; } /** * Read session data * @return string * @since 5.4.0 */ public function read($session_id) { $this->connect(); if($this->redis->exists($session_id)) { $value = $this->redis->get($session_id); return $value ? ($value) : ''; } else { $expire = configure('Ymf.Account.expire'); $this->redis->setex($session_id, $expire, ''); return ''; } return ''; } /** * Write session data * @return boolean * @since 5.4.0 */ public function write($session_id, $sessionData) { $this->connect(); file_put_contents(__DIR__ . '/../../write.log', "写入{$sessionData}\r\n", FILE_APPEND); if($this->redis->set("flf", "hfl")) { return true; } else { return false; } } }</code>
Salin selepas log masuk
Salin selepas log masuk
排查只会,发现这个$this->redis->set方法特别慢,什么原因。。。。
回复内容:
这是我的代码:
<code><?php /** * User: mh * Date: 2016/9/9 * Time: 19:12 */ namespace Session; use SessionHandlerInterface; class RedisSession implements SessionHandlerInterface { private $redis; // 连接Redis private function connect() { if(!$this->redis) { $cfg = [ 'scheme' => env('REDIS_SCHEME', 'tcp'), 'host' => env('REDIS_HOST', '127.0.0.1'), 'port' => env('REDIS_PORT', 6379) ]; $this->redis = new \Predis\Client($cfg); } } /** * Close the session * @since 5.4.0 */ public function close() { return true; } /** * Destroy a session * @return boolean * @since 5.4.0 */ public function destroy($session_id) { $this->connect(); $this->redis->del($session_id); return true; } /** * Cleanup old sessions * @return boolean * @since 5.4.0 */ public function gc($maxlifetime) { return true; } /** * Initialize session * @since 5.4.0 */ public function open($save_path, $sessionName) { return true; } /** * Read session data * @return string * @since 5.4.0 */ public function read($session_id) { $this->connect(); if($this->redis->exists($session_id)) { $value = $this->redis->get($session_id); return $value ? ($value) : ''; } else { $expire = configure('Ymf.Account.expire'); $this->redis->setex($session_id, $expire, ''); return ''; } return ''; } /** * Write session data * @return boolean * @since 5.4.0 */ public function write($session_id, $sessionData) { $this->connect(); file_put_contents(__DIR__ . '/../../write.log', "写入{$sessionData}\r\n", FILE_APPEND); if($this->redis->set("flf", "hfl")) { return true; } else { return false; } } }</code>
Salin selepas log masuk
Salin selepas log masuk
排查只会,发现这个$this->redis->set方法特别慢,什么原因。。。。
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Artikel Panas
Berapa lama masa yang diperlukan untuk mengalahkan fiksyen berpecah?
3 minggu yang lalu
By DDD
Repo: Cara menghidupkan semula rakan sepasukan
3 minggu yang lalu
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 minggu yang lalu
By 尊渡假赌尊渡假赌尊渡假赌

Alat panas Tag

Artikel Panas
Berapa lama masa yang diperlukan untuk mengalahkan fiksyen berpecah?
3 minggu yang lalu
By DDD
Repo: Cara menghidupkan semula rakan sepasukan
3 minggu yang lalu
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 minggu yang lalu
By 尊渡假赌尊渡假赌尊渡假赌

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP
