Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 
 
 
 

68 linhas
1.8 KiB

  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: wangxj
  5. * Date: 2017/1/17
  6. * Time: 19:08
  7. */
  8. namespace common\components;
  9. use yii\caching\MemCache;
  10. class zMemcache extends MemCache
  11. {
  12. public $encrypt = true;
  13. public function get($key)
  14. {
  15. if ($this->encrypt == true) {
  16. $key = $this->buildKey($key);
  17. $value = $this->getValue($key);
  18. if ($value === false || $this->serializer === false) {
  19. return $value;
  20. } elseif ($this->serializer === null) {
  21. $value = unserialize($value);
  22. } else {
  23. $value = call_user_func($this->serializer[1], $value);
  24. }
  25. if (is_array($value) && !($value[1] instanceof Dependency && $value[1]->getHasChanged($this))) {
  26. return $value[0];
  27. } else {
  28. return false;
  29. }
  30. } else {
  31. $value = $this->getValue($key);
  32. if ($value !== false) {
  33. return $value;
  34. } else {
  35. return false;
  36. }
  37. }
  38. }
  39. public function set($key, $value, $duration = 0, $dependency = null)
  40. {
  41. if ($this->encrypt === true) {
  42. return parent::set($key, $value, $duration = 0, $dependency = null);
  43. } else {
  44. return $this->setValue($key, $value, $duration);
  45. }
  46. }
  47. // protected function flushValues(){
  48. // parent::flushValues();
  49. // }
  50. // protected function getValue($key){
  51. // parent::getValue($key);
  52. // }
  53. // protected function setValue($key, $value, $duration){
  54. // parent::setValue($key, $value, $duration);
  55. // }
  56. // protected function addValue($key, $value, $duration){
  57. // parent::addValue($key, $value, $duration);
  58. // }
  59. // protected function deleteValue($key){
  60. // parent::deleteValue($key);
  61. // }
  62. }