PHP Redis 클래스 작업

WBOY
풀어 주다: 2016-07-25 08:46:28
원래의
900명이 탐색했습니다.
  1. /**************************************** ***** *********************************************
  2. * InitPHP 2.0 국내 PHP 개발 프레임워크 Dao-Nosql-Redis
  3. *------------------------------- ------ ------------------ -
  4. * 저작권: CopyRight By initphp.com
  5. * 본 소스코드는 자유롭게 사용하실 수 있으나, 사용시 작성자 정보를 꼭 지켜주세요.尊重他人勞動成果就是尊重自己
  6. *--------------------------------------- ----------------------------------------
  7. * $Author:zhuli
  8. * $Dtime:2011-10-09
  9. ************************************* **********************************************/
  10. class redisInit {
  11. private $redis; //redis物件
  12. /**
  13. * 初始化Redis
  14. * $config = array(
  15. * 'server' => '127.0.0.1' 伺服器
  16. * 'port' => '6379' 連接埠號碼
  17. * )
  18. * @param array $config
  19. */
  20. public function init($config = array()) {
  21. if ($config['server'] == '') $config['server'] = '127.0.0.1';
  22. if ($config['port'] == '') $config['port' ] = '6379';
  23. $this->redis = new Redis();
  24. $this->redis->connect($config['server'], $config['port']);
  25. return $this->redis;
  26. }
  27. /**
  28. * 設定值
  29. * @param string $key KEY名稱
  30. * @param string|array $value 取得所得的資料
  31. * @param int $timeOut 時間
  32. */
  33. public function set($key, $value, $timeOut = 0) {
  34. $ value = json_encode($value, TRUE);
  35. $retRes = $this->redis->set($key, $value);
  36. if ($timeOut > 0) $this->redis->setTimeout ($key, $timeOut);
  37. return $retRes;
  38. }
  39. /**
  40. * 透過KEY取得資料
  41. * @param string $key KEY名稱
  42. */
  43. public function get($key) {
  44. $result = $this->redis->get($key);
  45. return json_decode($result, TRUE);
  46. }
  47. /**
  48. * 刪除一條資料
  49. * @param string $key KEY名稱
  50. */
  51. public function delete( $key) {
  52. return $this->redis->delete($key);
  53. }
  54. /**
  55. * 清空資料
  56. */
  57. public function flushAll() {
  58. return $this->redis->flushAll();
  59. }
  60. /**
  61. * 資料入佇列
  62. * @param string $key KEY名稱
  63. * @param string|array $value 取得所取得的資料
  64. * @param bool $right 是否從右邊開始入
  65. */
  66. public function push($key, $value ,$right = true) {
  67. $value = json_encode($value);
  68. return $right ? $this->redis->rPush($key, $value) : $this->redis->lPush($key, $value) ;
  69. }
  70. /**
  71. * 資料出佇列
  72. * @param string $key KEY名稱
  73. * @param bool $left 是否從左邊開始出資料
  74. */
  75. public function pop($key , $left = true) {
  76. $val = $left ? $this->redis- >lPop($key) : $this->redis->rPop($key);
  77. return json_decode($val);
  78. }
  79. /**
  80. * 資料自增
  81. * @param string $key KEY名稱
  82. */
  83. public function increment($key) {
  84. return $this->redis->incr($key);
  85. }
  86. /**
  87. * 資料自減
  88. * @param string $key KEY名稱
  89. */
  90. public function decrement ($key) {
  91. return $this->redis->decr($key);
  92. }
  93. /**
  94. * key是否存在,存在回傳ture
  95. * @param string $key KEY名稱
  96. */
  97. public function exists($key) {
  98. return $this->redis->exists($key);
  99. }
  100. /**
  101. * 回傳redis物件
  102. * redis有非常多的操作方法,我們只封裝了一部分
  103. * 拿著這個物件就可以直接呼叫redis自身方法
  104. */
  105. public function redis() {
  106. return $ this->redis;
  107. }
  108. }
複製程式碼

PHP, Redis
本主題由 小貝 於 2015-11-12 08:43 移動


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿