@@ -41,16 +41,21 @@ public function command(string $command): array {
4141
4242 while (!feof ($ fp )) {
4343 $ buffer .= fgets ($ fp , 1024 );
44+
45+ $ ends = ['END ' , 'DELETED ' , 'NOT_FOUND ' , 'OK ' , 'EXISTS ' , 'ERROR ' , 'RESET ' , 'STORED ' , 'NOT_STORED ' , 'VERSION ' ];
46+
47+ foreach ($ ends as $ end ) {
48+ if (preg_match ('/^ ' .$ end .'/imu ' , $ buffer )) {
49+ break 2 ;
50+ }
51+ }
52+
4453 $ lines = explode ("\n" , $ buffer );
4554 $ buffer = array_pop ($ lines );
4655
4756 foreach ($ lines as $ line ) {
4857 $ line = trim ($ line );
4958
50- if ($ line === 'END ' || $ line === 'ERROR ' || $ line === '' ) {
51- break 2 ;
52- }
53-
5459 $ data [] = $ line ;
5560 }
5661 }
@@ -71,17 +76,19 @@ private function keyData(string $line): array {
7176 static $ data = [];
7277
7378 foreach (explode (' ' , $ line ) as $ part ) {
74- [$ key , $ val ] = explode ('= ' , $ part );
75-
76- if ($ key === 'exp ' ) {
77- if ($ val !== '-1 ' ) {
78- $ val = (int ) $ val - time ();
79- } else {
80- $ val = (int ) $ val ;
79+ if ($ part !== '' ) {
80+ [$ key , $ val ] = explode ('= ' , $ part );
81+
82+ if ($ key === 'exp ' ) {
83+ if ($ val !== '-1 ' ) {
84+ $ val = (int ) $ val - time ();
85+ } else {
86+ $ val = (int ) $ val ;
87+ }
8188 }
82- }
8389
84- $ data [$ key ] = $ val ;
90+ $ data [$ key ] = $ val ;
91+ }
8592 }
8693
8794 return $ data ;
@@ -106,10 +113,8 @@ public function getKeys(): array {
106113
107114 $ all_keys = $ this ->command ('lru_crawler metadump all ' );
108115
109- if ($ all_keys !== null ) {
110- foreach ($ all_keys as $ line ) {
111- $ keys [] = $ this ->keyData ($ line );
112- }
116+ foreach ($ all_keys as $ line ) {
117+ $ keys [] = $ this ->keyData ($ line );
113118 }
114119
115120 return $ keys ;
0 commit comments