首页 > 开发 > PHP > 正文

php操作redis缓存方法分享

2024-05-04 23:35:51
字体:
来源:转载
供稿:网友

除了memcache这个比较常用的php的操作类库,我们可能还非常熟悉一个内存缓存的东西,那就是redis,我们给大家分享的这个php技术文章,就是关于如何使用php进行操作redis这个内存缓存工具类库的哦。

php redis缓存操作

 

 
  1. <?php 
  2. /** 
  3. * Redis缓存操作 
  4. * @author hxm 
  5. * @version 1.0 
  6. * @since 2015.05.04 
  7. */ 
  8. class RCache extends Object implements CacheFace  
  9. private $redis = null; //redis对象 
  10.  
  11. private $sId = 1; //servier服务ID 
  12.  
  13. private $con = null;//链接资源 
  14.  
  15. /** 
  16. * 初始化Redis 
  17. * 
  18. * @return Object 
  19. */ 
  20. public function __construct() 
  21. if ( !class_exists('Redis') ) 
  22. throw new QException('PHP extension does not exist: Redis'); 
  23. $this->redis = new Redis(); 
  24.  
  25. /** 
  26. * 链接memcahce服务 
  27. * 
  28. * @access private 
  29. * @param string $key 关键字 
  30. * @param string $value 缓存内容 
  31. * @return array 
  32. */ 
  33. private function connect( $sid ) 
  34. $file = $this->CacheFile(); 
  35. require $file
  36. if(! isset($cache) ) 
  37. throw new QException('缓存配置文件不存在'.$file); 
  38. $server = $cache[$this->cacheId]; 
  39. $sid = isset($sid) == 0 ? $this->sId : $sid;//memcache服务选择 
  40. if ( ! $server[$sid]) 
  41. throw new QException('当前操作的缓存服务器配置文件不存在'); 
  42. $host = $server[$sid]['host']; 
  43. $port = $server[$sid]['port']; 
  44. try { 
  45. $this->redis->connect( $host , $port ); 
  46. } catch (Exception $e) { 
  47. exit('memecache连接失败,错误信息:'$e->getMessage()); 
  48.  
  49. /** 
  50. * 写入缓存 
  51. * 
  52. * @access private 
  53. * @param string $key 关键字 
  54. * @param string $value 缓存内容 
  55. * @return array 
  56. */ 
  57. public function set( $key , $value , $sid , $expire = 0) 
  58. $data = $this->get($key , $sid); //如果已经存在key值 
  59. if$data )  
  60. return $this->redis->getset( $key , $value); 
  61. else { 
  62. return $this->redis->set( $key , $value); 
  63.  
  64. /** 
  65. * 读取缓存 
  66. * 
  67. * @access private 
  68. * @param string $key 关键字 
  69. * @param int $sid 选择第几台memcache服务器 
  70. * @return array 
  71. */ 
  72. public function get( $key , $sid
  73. $this->connect( $sid ); 
  74. return $this->redis->get($key); 
  75.  
  76. /** 
  77. * 清洗(删除)已经存储的所有的元素 
  78. * 
  79. * @access private 
  80. * @return array 
  81. */ 
  82. public function flush() 
  83. $this->connect(); 
  84. return $this->redis->flushall(); 
  85. /** 
  86. * 删除缓存 
  87. * 
  88. * @access private 
  89. * @param string $key 关键字 
  90. * @param int $sid 选择第几台memcache服务器 
  91. * @return array 
  92. */ 
  93. public function remove( $key , $sid
  94. $this->connect(); 
  95. return $this->redis->del($key); 
  96.  
  97. /** 
  98. * 析构函数 
  99. * 最后关闭memcache 
  100. */ 
  101. public function __destruct() 
  102. if($this->redis) 
  103. $this->redis->close(); 

以上所述就是本文的全部内容了,希望大家能够喜欢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表