裝飾者模式 裝飾者模式 裝飾者模式類似蛋糕,有草莓味、奶酪等種類,但是它們的核心都是蛋糕。 不斷地將對(duì)象添加裝飾的設(shè)計(jì)模式叫做 裝飾者模式(Decorator) PHP代碼實(shí)...
裝飾者模式 裝飾者模式 裝飾者模式類似蛋糕,有草莓味、奶酪等種類,但是它們的核心都是蛋糕。 不斷地將對(duì)象添加裝飾的設(shè)計(jì)模式叫做 裝飾者模式(Decorator) PHP代碼實(shí)...
composer執(zhí)行源碼分析 composer的安裝 生成composer之后會(huì)用如下目錄結(jié)構(gòu)1567064549109.jpg 2.在項(xiàng)目的入口文件加載composer 3...
運(yùn)行代碼(留意$arr) 返回結(jié)果(PHP7.1之前版本代碼) 返回結(jié)果(PHP7.1+版本) 結(jié)果對(duì)比 對(duì)比兩個(gè)不同版本返回的結(jié)果。變量arr當(dāng)成數(shù)組使用。在7.1版本之前...
在使用redis設(shè)計(jì)簽到系統(tǒng),我們可以使用集合和bitmaps兩種數(shù)據(jù)結(jié)構(gòu)。這邊我們來(lái)說(shuō)明一下bitmaps。 1.bitmaps的數(shù)據(jù)結(jié)構(gòu)模型 Bitmaps本身不是一種數(shù)...
HyperLogLog并不是一種新的數(shù)據(jù)結(jié)構(gòu)(實(shí)際類型為字符串類型),而是一種基數(shù)算法,通過(guò)HyperLogLog可以利用極小的內(nèi)存空間完成獨(dú)立總數(shù)的統(tǒng)計(jì)。 一、場(chǎng)景概述 H...
redis執(zhí)行一條命令有四個(gè)過(guò)程:發(fā)送命令、命令排隊(duì)、命令執(zhí)行、返回結(jié)果;整個(gè)過(guò)程是一個(gè)往返時(shí)間(RTT)。如果有n條命令,就會(huì)消耗n次RTT。Redis的客戶端和服務(wù)端可能...
在MySql提供慢查詢?nèi)罩緛?lái)定位系統(tǒng)存在的慢操作。慢查詢?nèi)罩揪褪窍到y(tǒng)在命令執(zhí)行前后計(jì)算每條命令的執(zhí)行時(shí)間,當(dāng)超過(guò)預(yù)定的最大值,就將這條命令的相關(guān)信息記錄。 慢查詢的參數(shù)配置 ...
keys 在測(cè)試環(huán)境使用redis的時(shí)候,經(jīng)常會(huì)要批量刪除key,我們但是redis并沒(méi)有提供批量刪除的命令,但是我們可以在命令行下,使用keys遍歷鍵實(shí)現(xiàn) 漸進(jìn)式遍歷 sc...
如何設(shè)置鍵過(guò)期 Redis所有的鍵都可以設(shè)置過(guò)期屬性,內(nèi)部保存在過(guò)期字典中。 expire key seconds --鍵在seconds秒后過(guò)期 expireat key...
內(nèi)部編碼 ziplist(壓縮列表): 當(dāng)有序集合的元素個(gè)數(shù)小于zset-max-ziplistentries配置(默認(rèn)128個(gè)),同時(shí)每個(gè)元素的值都小于zset-max-z...
文檔地址 內(nèi)部編碼 intset(整數(shù)集合): 當(dāng)集合中的元素都是整數(shù)且元素個(gè)數(shù)小于set-maxintset-entries配置(默認(rèn)512個(gè))時(shí),Redis會(huì)選用ints...
文檔地址 列表類型有兩個(gè)特點(diǎn): 第一、列表中的元素是有序的,這就意味著可以通過(guò)索引下標(biāo)獲取某個(gè)元素或者某個(gè)范圍內(nèi)的元素列表。 第二、列表中的元素可以是重復(fù)的, 內(nèi)部編碼 列表...
文檔地址 內(nèi)部編碼 ziplist(壓縮列表) hashtable(哈希表) 編碼的選擇 內(nèi)部編碼默認(rèn)是ziplist(當(dāng)子建個(gè)數(shù)比較少且沒(méi)有大的value時(shí)) 當(dāng)有valu...
值最大不能超過(guò)512MB 設(shè)置值 setex和setnx set key value [ex 秒] [px 毫秒] [nx|xx] nx:鍵必須不存在,才可以設(shè)置成功,用于添...
單線程架構(gòu) 純內(nèi)存 非阻塞i/o 單線程避免了線程切換和竟態(tài)產(chǎn)生的消耗 概要: 使用多路復(fù)用技術(shù) 全局命令 查看所有鍵 key * 算法法度o(n) 鍵總數(shù) dbsize 算...
特性 速度快 速度快的原因歸納如下:Redis的所有數(shù)據(jù)都是存在內(nèi)存中使用C語(yǔ)言實(shí)現(xiàn)使用了單線程架構(gòu),預(yù)防了多線程可能產(chǎn)生的死鎖 基于鍵值對(duì)的數(shù)據(jù)結(jié)構(gòu)服務(wù)器 豐富的功能 鍵過(guò)...