回答編集履歴

2

追記

2016/03/29 14:58

投稿

CHERRY
CHERRY

スコア25171

test CHANGED
@@ -7,6 +7,8 @@
7
7
 
8
8
 
9
9
 
10
+
11
+ まずは、PHP から memcached か Redis を利用できるようにする。
10
12
 
11
13
 
12
14
 
@@ -23,3 +25,89 @@
23
25
  http://redis.io/
24
26
 
25
27
  https://github.com/phpredis/phpredis/
28
+
29
+
30
+
31
+ つぎに CakePHP の Config/core.php に 次のような Cache 設定を行う。
32
+
33
+ http://book.cakephp.org/3.0/en/core-libraries/caching.html
34
+
35
+
36
+
37
+ ```php
38
+
39
+ // Redis の場合
40
+
41
+ Cache::config('default', [
42
+
43
+ 'engine' => 'Redis',
44
+
45
+ 'server' => '127.0.0.1',
46
+
47
+ 'port' => 6379,
48
+
49
+ ]);
50
+
51
+
52
+
53
+ // Memcached の場合
54
+
55
+ Cache::config('default', [
56
+
57
+ 'engine' => 'Memcache',
58
+
59
+ 'servers' => '127.0.0.1',
60
+
61
+ 'port' => 11211,
62
+
63
+ ]);
64
+
65
+ ```
66
+
67
+
68
+
69
+ どちらを使っても 次のような感じで、アクセスできます。
70
+
71
+ ```
72
+
73
+ // 読み込み
74
+
75
+ Cache::read(‘key_name’)
76
+
77
+
78
+
79
+ // 書き出し
80
+
81
+ $data = [ 'key1' => 'data1' ];
82
+
83
+ Cache::write(‘key_name’, $data)
84
+
85
+ ```
86
+
87
+
88
+
89
+
90
+
91
+ また、CakePHPのキャッシュエンジンにはカウンタAPIがありますので、下記のような使い方もできます。
92
+
93
+ ```
94
+
95
+ // 初期データ書き込み
96
+
97
+ Cache::write('view_count', 0);
98
+
99
+
100
+
101
+ // 加算
102
+
103
+ Cache::increment('view_count');
104
+
105
+
106
+
107
+ // 減算
108
+
109
+ Cache::decrement('view_count');
110
+
111
+ ```
112
+
113
+

1

語句の修正

2016/03/29 14:58

投稿

CHERRY
CHERRY

スコア25171

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- すぐに思いつく方法としては、セッションの保存などに使われるメモリキャッシュに一時保管しておいてから、ある程度まとめてデータベースに書き込むとかが、考えられますね。
5
+ すぐに思いつく方法としては、セッションの保存などに使われることが多いデータストアに一時保管しておいてから、ある程度まとめてデータベースに書き込むとかが、考えられますね。
6
6
 
7
7
 
8
8