質問編集履歴
1
追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -31,3 +31,87 @@
|
|
31
31
|
}
|
32
32
|
|
33
33
|
```
|
34
|
+
|
35
|
+
RaningModele.php
|
36
|
+
|
37
|
+
```
|
38
|
+
|
39
|
+
<?php
|
40
|
+
|
41
|
+
|
42
|
+
|
43
|
+
namespace App\Http\Controllers;
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
use Illuminate\Http\Request;
|
48
|
+
|
49
|
+
use Redis;
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
class RankingModule extends Controller
|
54
|
+
|
55
|
+
{
|
56
|
+
|
57
|
+
public function increment_view_ranking($id)
|
58
|
+
|
59
|
+
{
|
60
|
+
|
61
|
+
$key = "article/" . date('Ymd') . "/" . $id;
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
$value = Redis::get($key);
|
66
|
+
|
67
|
+
if(empty($value)){
|
68
|
+
|
69
|
+
Redis::set($key, 1);
|
70
|
+
|
71
|
+
}else{
|
72
|
+
|
73
|
+
Redis::set($key, $value + 1);
|
74
|
+
|
75
|
+
}
|
76
|
+
|
77
|
+
}
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
public function get_daily_ranking()
|
82
|
+
|
83
|
+
{
|
84
|
+
|
85
|
+
$keys = Redis::keys('article/' . date('Ymd') . '/*');
|
86
|
+
|
87
|
+
$results = Array();
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
if(empty($keys) != true){
|
92
|
+
|
93
|
+
for($i=0; $i<sizeof($keys); $i++){
|
94
|
+
|
95
|
+
$point = Redis::get($keys[$i]);
|
96
|
+
|
97
|
+
$id = explode('article/' . date('Ymd') . '/', $keys[$i])[1];
|
98
|
+
|
99
|
+
$results[$id] = $point;
|
100
|
+
|
101
|
+
}
|
102
|
+
|
103
|
+
arsort($results, SORT_NUMERIC);
|
104
|
+
|
105
|
+
}
|
106
|
+
|
107
|
+
return $results;
|
108
|
+
|
109
|
+
}
|
110
|
+
|
111
|
+
}
|
112
|
+
|
113
|
+
```
|
114
|
+
|
115
|
+
参考にしているサイトです
|
116
|
+
|
117
|
+
https://qiita.com/esu_eichi/items/e3abe72f55b53865acf5
|