Advertisement
Guest User

Untitled

a guest
Jan 16th, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.76 KB | None | 0 0
  1. <?php
  2. $countries = \Yii::$app->db->createCommand('SELECT * FROM country')->queryAll();
  3. $cities = \Yii::$app->db->createCommand('SELECT * FROM city WHERE country_id=20')->queryAll();
  4.  
  5. $dbCache = \Yii::$app->dbCache;
  6. $dbCache->flush();
  7. $dbCache->set('countries', $countries);
  8. $dbCache->set('cities', $cities);
  9.  
  10. $fileCache = \Yii::$app->fileCache;
  11. $fileCache->flush();
  12. $fileCache->set('countries', $countries);
  13. $fileCache->set('cities', $cities);
  14.  
  15. $memcache = \Yii::$app->memcache;
  16. $memcache->flush();
  17. $memcache->set('countries', $countries);
  18. $memcache->set('cities', $cities);
  19.  
  20. $redisCache = \Yii::$app->redisCache;
  21. //$redisCache->flush();
  22. $redisCache->set('countries', $countries);
  23. $redisCache->set('cities', $cities);
  24.  
  25.  
  26. // DB
  27. $start = microtime(true);
  28. for($i=0; $i<1000; $i++) {
  29. $dbCache->get('countries');
  30. }
  31. $res['dbCache']['1000_small'] = microtime(true) - $start;
  32.  
  33. $start = microtime(true);
  34. for($i=0; $i<10000; $i++) {
  35. $dbCache->get('countries');
  36. }
  37. $res['dbCache']['10000_small'] = microtime(true) - $start;
  38.  
  39. // File
  40. $start = microtime(true);
  41. for($i=0; $i<1000; $i++) {
  42. $fileCache->get('countries');
  43. }
  44. $res['fileCache']['1000_small'] = microtime(true) - $start;
  45.  
  46. $start = microtime(true);
  47. for($i=0; $i<10000; $i++) {
  48. $fileCache->get('countries');
  49. }
  50. $res['fileCache']['10000_small'] = microtime(true) - $start;
  51. $start = microtime(true);
  52. for($i=0; $i<1000; $i++) {
  53. $fileCache->get('cities');
  54. }
  55. $res['fileCache']['1000_big'] = microtime(true) - $start;
  56.  
  57. $start = microtime(true);
  58. for($i=0; $i<10000; $i++) {
  59. $fileCache->get('cities');
  60. }
  61. $res['fileCache']['10000_big'] = microtime(true) - $start;
  62.  
  63. // Redis
  64. $start = microtime(true);
  65. for($i=0; $i<1000; $i++) {
  66. $redisCache->get('countries');
  67. }
  68. $res['redisCache']['1000_small'] = microtime(true) - $start;
  69.  
  70. $start = microtime(true);
  71. for($i=0; $i<10000; $i++) {
  72. $redisCache->get('countries');
  73. }
  74. $res['redisCache']['10000_small'] = microtime(true) - $start;
  75. $start = microtime(true);
  76. for($i=0; $i<1000; $i++) {
  77. $redisCache->get('cities');
  78. }
  79. $res['redisCache']['1000_big'] = microtime(true) - $start;
  80.  
  81. $start = microtime(true);
  82. for($i=0; $i<10000; $i++) {
  83. $redisCache->get('cities');
  84. }
  85. $res['redisCache']['10000_big'] = microtime(true) - $start;
  86.  
  87.  
  88. // Memcached
  89. $start = microtime(true);
  90. for($i=0; $i<1000; $i++) {
  91. $memcache->get('countries');
  92. }
  93. $res['memcache']['1000_small'] = microtime(true) - $start;
  94.  
  95. $start = microtime(true);
  96. for($i=0; $i<10000; $i++) {
  97. $memcache->get('countries');
  98. }
  99. $res['memcache']['10000_small'] = microtime(true) - $start;
  100. $start = microtime(true);
  101. for($i=0; $i<1000; $i++) {
  102. $memcache->get('cities');
  103. }
  104. $res['memcache']['1000_big'] = microtime(true) - $start;
  105.  
  106. $start = microtime(true);
  107. for($i=0; $i<10000; $i++) {
  108. $memcache->get('cities');
  109. }
  110. $res['memcache']['10000_big'] = microtime(true) - $start;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement