RedisClusters.php 995 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace App\Tools;
  3. use Illuminate\Support\Facades\Redis;
  4. class RedisClusters{
  5. public static function remember($key,$expire,$callback){
  6. if(Redis::exists($key)){
  7. return json_decode(Redis::get($key),true);
  8. }else{
  9. $valueOrg = $callback();
  10. $value = json_encode($valueOrg,JSON_UNESCAPED_UNICODE);
  11. Redis::set($key,$value);
  12. Redis::expire($key,$expire);
  13. return $valueOrg;
  14. }
  15. }
  16. public static function put($key,$value,$expire=null){
  17. $value = json_encode($value,JSON_UNESCAPED_UNICODE);
  18. Redis::set($key,$value);
  19. if($expire){
  20. Redis::expire($key,$expire);
  21. }
  22. return $value;
  23. }
  24. public static function get($key){
  25. return json_decode(Redis::get($key),true);
  26. }
  27. public static function forget($key){
  28. return Redis::del($key);
  29. }
  30. public static function has($key){
  31. return Redis::exists($key);
  32. }
  33. }