我在AWS的ElastiCache中尝试使用Redis进行了引入
ElastiCache(弹性缓存)提供了两种选项:memcached 和 Redis。本次将详细介绍 Redis 的引入。
搭建Redis集群
Redis的集群配置
-
- 从控制台选择ElastiCache
-
- 点击”立即开始”
-
- 在第一步中,选择Redis作为引擎,然后点击”下一步”
-
- 在第二步中,通过”指定集群详细信息”来配置Redis集群
-
- 如果没有特殊需求,端口号可以保持默认设置,集群名称需要在副本组名称中指定,副本组描述为必填项。
-
- 注意:如果选择了多AZ,将无法选择t2.micro、t2.small、t2.medium作为节点类型。
-
- 在第三步中,进行网络与安全性的备份和维护设置,然后点击”下一步”。
-
- 在网络与安全性设置中,复制的布局应该在可用区中互相分散,例如主节点等。
- 在第四步的”审核”中确认设置是否正确,然后选择”启动复制组”。如果显示”成功”,说明集群配置已完成,点击”关闭”来关闭设置页面。如果设置有误,可以点击”上一步”返回并重新进行设置。
确认 Redis 的端点
ElastiCacheのElastiCache Clustersの項目上で表示される先ほど立ち上げたクラスターの状態のSatusがCreatingから状態が変わり作成が完了したら、Nodesの項目の1 nodeという項目を選択しエンドポイントを確認する
※Cache Clustersの画面じょうのClusterの選択で確認できるConfiguration EndpointはRedisではN/Aとなるので注意する
ファイアウォールの設定
在安全组设置中,进行诸如添加入站规则等配置。安全组的配置可以包括以下示例:
タイプ: カスタムTCPルール
プロトコル: TCP
ポート範囲: 6379
送信元: 10.0.0.0/16(各自VPCの設定などに合わせる)
在EC2实例上安装Redis
在EC2实例上使用remi仓库安装Redis。
# remiレポジトリでインストール
$ sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
$ sudo yum --enablerepo=remi install redis
(仅供参考)虽然可以在epel仓库中进行安装,但版本较旧。
$ sudo yum --enablerepo=epel install redis
安装适用于PHP的Redis
$ sudo yum install php-redis
編輯Redis設定檔案。
vim /etc/redis.conf
# - bind 127.0.0.1
# + bind 0.0.0.0
进行服务的启动和设置
$ sudo service redis start
$ sudo chkconfig --level 35 redis on
$ sudo chkconfig --list | grep redis
确认能够使用以下输入登录到Redis
#ローカルでの接続テスト
redis-cli
#ElastiCacheへの接続テストは
redis-cli -h <エンドポイント>
使用PHP连接到ElastiCache上的Redis。
Redis有以下这些数据类型:
1. 字符串
2. 列表
3. 集合
4. 有序集合
5. 哈希表
下面是使用Sorted Set的连接示例。Sorted Set是一种有序集合,可以同时保持集合的排序。
<?php
$redis = new Redis();
$server = '<エンドポイント>';//ローカルでテストする場合は'127.0.0.1'を指定する
$port = 6379;
$timeout = 2.5;
$redis->connect($server, $port, $timeout);
$redis->zAdd('new-order' , 20, 'aaa');
$redis->zAdd('new-order' , 10, 'ccc');
$redis->zAdd('new-order' , 15, 'fff');
$redis->zAdd('new-order' , 24, 'yyy');
$ranking = $redis->zRevRange('new-order', 0, -1);
var_dump($ranking);
以上是全部内容。