idとurlを格納

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) よりも桁違いに高速であるため、インメモリキャッシュからのデータ読み取りは非常に高速 (ミリ秒以下) です。このきわめて高速なデータアクセスにより、アプリケーションの全体的なパフォーマンスが向上します。