Home > Backend Development > PHP Tutorial > PHP operation memcache caching method sharing_PHP tutorial

PHP operation memcache caching method sharing_PHP tutorial

WBOY
Release: 2016-07-13 09:52:04
Original
741 people have browsed it

Sharing of PHP memcache caching methods

Generally speaking, if the amount of concurrency is not large, it will not have any impact not to use caching technology, but if the concurrency is high, It is very important to use caching technology, which can greatly reduce the pressure on the database and server. Of course, there are many technologies to solve high concurrency. Here we only explain the convenience and convenience of using memcache from the perspective of caching,

The prerequisite for using memcache is to configure the memcahche environment on the server first! After confirming that memcahce can be connected normally, you can use it in the program!

 ?

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

/**

* Memcache cache operations

* @author hxm

* @version 1.0

* @since 2015.05.04

*/

class MCache extends Object implements CacheFace

{

private $mem = null; //Mem object

private $sId = 1; //servier service ID

/**

* Initialize Memcache

*

* @return Object

*/

public function __construct()

{

if ( !class_exists('Memcache') )

{

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

}

$this->mem = new Memcache();

}

/**

* 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->mem->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->mem->set( $key , $value ,MEMCACHE_COMPRESSED , $expire);

} else {

return $this->mem->add( $key , $value ,MEMCACHE_COMPRESSED , $expire);

}

}

/**

* 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->mem->get($key);

}

/**

* Clean (delete) all stored elements

*

* @access private

* @return array

*/

public function flush()

{

$this->connect();

return $this->mem->flush();

}

/**

* 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->mem->delete($key);

}

/**

* Destructor

* Finally close memcache

*/

public function __destruct()

{

/*if(! $this->mem)

{

$this->mem->close();

}*/

}

}

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

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1010439.htmlTechArticleSharing of PHP memcache caching methods. Generally speaking, if the amount of concurrency is not large, do not use caching technology and It has no impact, but if there is high concurrency, using caching technology will...
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