Home > Backend Development > PHP Tutorial > PHP operation redis cache method sharing_PHP tutorial

PHP operation redis cache method sharing_PHP tutorial

WBOY
Release: 2016-07-13 09:52:06
Original
893 people have browsed it

Sharing of PHP operation redis cache methods

In addition to memcache, a commonly used PHP operation library, we may also be very familiar with a memory cache thing, that is redis, we give This PHP technical article shared by everyone is about how to use PHP to operate redis, a memory caching tool library.

 php redis cache operation

 ?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

/**

* Redis cache operations

* @author hxm

* @version 1.0

* @since 2015.05.04

*/

class RCache extends Object implements CacheFace

{

private $redis = null; //redis object

private $sId = 1; //servier service ID

private $con = null;//Link resources

/**

* Initialize Redis

*

* @return Object

*/

public function __construct()

{

if ( !class_exists('Redis') )

{

throw new QException('PHP extension does not exist: Redis');

}

$this->redis = new Redis();

}

/**

* Link memcahce service

*

* @access private

* @param string $key keyword

* @param string $value cache content

* @return array

*/

private function connect( $sid )

{

$file = $this->CacheFile();

require $file;

if(! isset($cache) )

{

throw new QException('Cache configuration file does not exist'.$file);

}

$server = $cache[$this->cacheId];

$sid = isset($sid) == 0 ? $this->sId : $sid;//memcache service selection

if ( ! $server[$sid])

{

throw new QException('The cache server configuration file for the current operation does not exist');

}

$host = $server[$sid]['host'];

$port = $server[$sid]['port'];

try {

$this->redis->connect( $host , $port );

} catch (Exception $e) {

exit('memecache connection failed, error message: '. $e->getMessage());

}

}

/**

* Write cache

*

* @access private

* @param string $key keyword

* @param string $value cache content

* @return array

*/

public function set( $key , $value , $sid , $expire = 0)

{

$data = $this->get($key, $sid); //If the key value already exists

if( $data )

{

return $this->redis->getset( $key , $value);

} else {

return $this->redis->set( $key , $value);

}

}

/**

* Read cache

*

* @access private

* @param string $key keyword

* @param int $sid Select which memcache server

* @return array

*/

public function get( $key , $sid)

{

$this->connect( $sid );

return $this->redis->get($key);

}

/**

* Clean (delete) all stored elements

*

* @access private

* @return array

*/

public function flush()

{

$this->connect();

return $this->redis->flushall();

}

/**

* Delete cache

*

* @access private

* @param string $key keyword

* @param int $sid Select which memcache server

* @return array

*/

public function remove( $key , $sid)

{

$this->connect();

return $this->redis->del($key);

}

/**

* Destructor

* Finally close memcache

*/

public function __destruct()

{

if($this->redis)

{

$this->redis->close();

}

}

}

The above is the entire content of this article, I hope you all like it.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1010438.htmlTechArticleSharing of PHP operation redis cache methods. In addition to memcache, a more commonly used PHP operation class library, we may also be very familiar with one Memory caching is redis, we share it with you...
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template