| | 1 | [[TracNav(DevelDocTOC)]] |
| | 2 | |
| | 3 | = Cache Design = |
| | 4 | [[PageOutline]] |
| | 5 | |
| | 6 | == Cache Data Copying == |
| | 7 | === Shallow Copying === |
| | 8 | |
| | 9 | === Deep Copying === |
| | 10 | |
| | 11 | == Copying Source Or Destination == |
| | 12 | || ||Pointer Mem Cache||Offset Mem Cache||Disk Cache||PHP Scripting Engine |
| | 13 | ||use pointer||yes||no||no||yes |
| | 14 | ||use offset||no||yes||yes||no |
| | 15 | ||block or object||block||block||block||object |
| | 16 | |
| | 17 | |
| | 18 | As we copy data between php and cache, either src (source) or dest (destination) can be block or object. |
| | 19 | |
| | 20 | object storage:: |
| | 21 | allocate for each elements that to be stored |
| | 22 | block storage:: |
| | 23 | calc the total size of elements of data, allocate whole block 1 in go. but each elements is stored as if it allocate storage from the block. |