dever 7 年 前
コミット
c1c40fa901
1 ファイル変更28 行追加6 行削除
  1. 28 6
      src/Redis.php

+ 28 - 6
src/Redis.php

@@ -8,23 +8,45 @@ class Redis
 {
 	private $db;
 
+	private $key;
+
 	public function __construct()
 	{
-		$this->db = Dever::db('queue/data');
+		$this->db = new \Redis;
+		$config = Dever::config('base')->queue;
+
+		$host = Dever::config('base')->queue['host'];
+		$port = Dever::config('base')->queue['port'];
+
+		$this->db->connect($config['host'], $config['port']);
+
+		if (isset($config['password'])) {
+			$this->db->auth($config['password']);
+		}
+
+		if (isset($config['key']) && $config['key']) {
+			$this->key = $config['key'];
+		}
+	}
+
+	private function key()
+	{
+		if ($this->key) {
+			return $this->key;
+		}
+		return DEVER_PROJECT . '_' . DEVER_APP_NAME;
 	}
 
 	public function push($value)
 	{
-		$data = array('add_value' => $value);
-		return $this->db->insert($data);
+		return $this->db->rpush($this->key(), $value);
 	}
 
 	public function pop()
 	{
-		$data = $this->db->one();
+		$data = $this->db->lpop($this->key());
 		if ($data) {
-			$this->db->delete($data['id']);
-			return $data['value'];
+			return $data;
 		}
 		return false;
 	}