CacheLogTraitModel.php 942 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Mead
  5. * Date: 2019/9/4
  6. * Time: 9:36 AM
  7. */
  8. namespace App\Models;
  9. use App\Maps\CacheMap;
  10. trait CacheLogTraitModel
  11. {
  12. public function cacheLog($message_id, $data)
  13. {
  14. $value = '';
  15. if (is_array($data)) {
  16. $value = "array||" . json_encode($data);
  17. } else {
  18. $value = "string||" . $data;
  19. }
  20. $this->redis->setex(CacheMap::cache_key . ':' . $message_id, 1 * 60, $value);
  21. }
  22. public function getCache($message_id)
  23. {
  24. $val = $this->redis->get(CacheMap::cache_key . ':' . $message_id);
  25. $array = explode('||', $val);
  26. if (count($array) !== 2) return false;
  27. list($type, $data) = $array;
  28. switch ($type) {
  29. case 'string':
  30. return $data;
  31. break;
  32. case 'array':
  33. return json_decode($data);
  34. }
  35. return false;
  36. }
  37. }