mysql
mysql> insert into url(id, url) values
-> (‘001’, ‘https://www.facebook.com/’),
-> (‘002’, ‘https://www.amazon.com/’),
-> (‘003’, ‘https://www.apple.com’),
-> (‘004’, ‘https://www.google.com’);
Query OK, 4 rows affected (0.15 sec)
Records: 4 Duplicates: 0 Warnings: 0
mysql> select * from url;
+—-+——+—————————+
| no | id | url |
+—-+——+—————————+
| 1 | 1 | https://www.facebook.com/ |
| 2 | 2 | https://www.amazon.com/ |
| 3 | 3 | https://www.apple.com |
| 4 | 4 | https://www.google.com |
+—-+——+—————————+
4 rows in set (0.00 sec)
あら、idが001ではなく、1になってますね。
drop tableしてvarchar(11)に変更します。
create table url (
no int unsigned auto_increment primary key,
id varchar(11),
url varchar(255)
);
パラメーターのURLをfetchする。
if(isset($_GET["id"])){ $id = $_GET["id"]; } else { $id = "001"; } try { $pdo = new PDO('mysql:host=localhost;dbname=redirect;charset=utf8','root','', array(PDO::ATTR_EMULATE_PREPARES => false)); } catch (PDOException $e) { exit('データベース接続失敗。'.$e->getMessage()); } $stmt = $pdo->query("SELECT * FROM url where id = $id"); $row = $stmt -> fetch(PDO::FETCH_ASSOC); echo $row["url"];
リダイレクト処理。awsでキャッシュさせれば、少し早くなるか。
if(isset($_GET["id"])){ $id = $_GET["id"]; } else { $id = "001"; } try { $pdo = new PDO('mysql:host=localhost;dbname=redirect;charset=utf8','root','', array(PDO::ATTR_EMULATE_PREPARES => false)); } catch (PDOException $e) { exit('データベース接続失敗。'.$e->getMessage()); } $stmt = $pdo->query("SELECT * FROM url where id = $id"); $row = $stmt -> fetch(PDO::FETCH_ASSOC); $url = "location: " .$row["url"]. ""; header($url);
Amazon ElastiCache:Amazon ElastiCache は、クラウドでのインメモリデータストアまたはキャッシュのデプロイ、運用、およびスケールを容易にするウェブサービスです。このサービスは、低速のディスクベースのデータベースに完全に依存せずに、高速のマネージド型インメモリデータストアから情報を取得できるようにすることで、ウェブアプリケーションのパフォーマンスを向上させます。
これか?
>メモリはディスク (磁気または SSD) よりも桁違いに高速であるため、インメモリキャッシュからのデータ読み取りは非常に高速 (ミリ秒以下) です。このきわめて高速なデータアクセスにより、アプリケーションの全体的なパフォーマンスが向上します。