Home  >  Article  >  Backend Development  >  php中memcache 基本操作实例_PHP教程

php中memcache 基本操作实例_PHP教程

WBOY
WBOYOriginal
2016-07-13 09:53:52820browse

php中memcache 基本操作实例

   本文实例讲述了PHP中Memcache的基本操作及用法。分享给大家供大家参考。有需要的小伙伴快来研究下吧。

  php中memcache 基本操作实例

  ?

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

memcache demo

$server_ip = '127.0.0.1';

$server_port = 11211;

 

$memcache = new Memcache();

$memcache->connect($server_ip,$server_port);

 

$memcache->add("name1","user_name1",MEMCACHE_COMPRESSED,0);

$memcache->add("name2","user_name2",MEMCACHE_COMPRESSED,0);

$array1 = array('name1' => 'jiajiam1',

'age1'=>12,

'country'=>'china');

$memcache->add("other",$array1,MEMCACHE_COMPRESSED,20);

$memcache->set("name3","user_name3",MEMCACHE_COMPRESSED,0);

$memcache->replace("name1","user_name_relpace",MEMCACHE_COMPRESSED,0);

$memcache->replace("123","12345");

 

echo"name1:".$memcache->get("name1")."
";

$memcache->delete("name1");

echo"name1:".$memcache->get("name1")."
";

 

$array_get = array("name1","name2","name3");

 

$result_get = $memcache->get($array_get);

foreach ($result_get as $key => $value) {

echo"$key:--->$value
";

}

foreach ($memcache->getStats() as $key => $value) {

echo"$key:--->$value
";

};

 

echo"
";

 

foreach($memcache->getExtendedStats() as $key => $value) {

echo"$key:--->$value
";

}

$memcache->close();

?>

  我们再来看个更加具体些的实例

  ?

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

include('inc/common.inc.php');

 

if (! isset($city) || ! is_array($city) ) {

exit;

}

 

//print_r ($city);exit;

 

$mem = new Memcache();

$mem-> connect('localhost', '11211');

$expires=15*60;

 

//check if cache exits

if(($value = $mem-> get($city)) != FALSE) {

echo "get key from memcache: "."
";

// $return=$mem->get($city);

// echo json_encode($return);

}//if

else {

$resultJson=fetch_data();

echo count($resultJson)."
";

if(count($resultJson)==1 || empty($resultJson)){

//从mysql中取值

echo "get key from mysql:"."
";

$query="select * from pm25";

$result=mysql_query ($query) ;

while ($row = mysql_fetch_assoc($result)){

$rows[]=$row;

}

//将获取的值数组存入memcache

for($i=0;$i

$k[$i]=$rows[$i]['city'];

$v[$i]['city']=$rows[$i]['city'];

$v[$i]['pm25']=$rows[$i]['pm25'];

$mem -> set($k[$i], $v[$i], false, $expires);

}

// $return=$mem->get($city);

// echo json_encode($return);

}//if

else{

echo "get key from new_writed mysql:"."
";

write_db($resultJson);

$query="select * from pm25";

$result=mysql_query ($query) ;

while ($row = mysql_fetch_assoc($result)){

$rows[]=$row;

}

//write memcache

for($i=0;$i

$k[$i]=$rows[$i]['city'];

$v[$i]['city']=$rows[$i]['city'];

$v[$i]['pm25']=$rows[$i]['pm25'];

$mem -> set($k[$i], $v[$i], false, $expires);

}

// $return=$mem->get($city);

// echo json_encode($return);

}//else

 

}//else

 

foreach ($city as $k=>$v){

$return[$k]=$mem->get($v);

}

echo json_encode($return);

 

function fetch_data() {

$url="http://www.example.com";

//$url="";

$data = http_get($url);

$getJson = json_decode($data, true);

return $getJson;

} //func fetch_data

 

function write_db($getJson){

$sql="DELETE FROM pm25";

mysql_query($sql);

//sort the json.txt

foreach ($getJson as $key => $row) {

$area[$key] = $row['area'];

$pm2_5[$key]= $row['pm2_5'];

}

array_multisort($area, SORT_ASC,$pm2_5,SORT_ASC,$getJson);

for($i=0;$i

if($getJson[$i]['pm2_5']==0)

$count=0;

else

$count=1;

$sum=$getJson[$i]['pm2_5'];

for($j=$i+1;$j

if(strcmp($getJson[$j]['area'],$getJson[$i]['area'])==0 ){

if($getJson[$j]['pm2_5']==0 ){

continue;

}

else{

$count++;

$sum+=$getJson[$j]['pm2_5'];

$pm2_5=$sum/$count;

}

}

else{

//insert into mysql

$result['city']=$getJson[$i]['area'];

$result['pm25']=intval($pm2_5);

$query="insert into pm25(city,pm25) values ('".$result['city']."',".$result['pm25'].")";

mysql_query($query);

break;

}

}

}

return $getJson;

}//func write_db

 

 

$mem -> close();

?>

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

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1000070.htmlTechArticlephp中memcache 基本操作实例 本文实例讲述了PHP中Memcache的基本操作及用法。分享给大家供大家参考。有需要的小伙伴快来研究下吧。 php中me...
Statement:
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