この記事ではredisの基本的な使い方を紹介します。
#1. Redis 基本部分:
#redis が適用される場面
1. 最新 N データを取得する操作
2. ランキング アプリケーション、上位 N を取得する操作
3. 有効期限は次のとおりです。正確に設定する アプリケーション
4. カウンターアプリケーション
5. ユニークな操作、一定期間のすべてのデータ重複排除値を取得する
6. リアルタイムシステム、スパム対策システム
7.リアルタイム メッセージング システムを構築するための Pub/Sub
##8.キュー システムを構築する9.キャッシュ
Linux 2.6、Xeon X3320 2.5Ghz.
1) インストール:
tar zxvf redis-2.6.9.tar.gz cd redis-2.6.9 make cd src && make install
cd /usr/local/ mkdir -p /usr/local/redis/bin mkdir -p /usr/local/redis/etc mv /lamp/redis-2.6.9/redis.conf /usr/local/redis/etc cd /lamp/redis-2.6.9/src mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /usr/local/redis/bin
vi /usr/local/redis/etc/redis.conf
daemonize no の no を yes に変更します [yes はバックグラウンドで実行することを指します]
4) 開始/ランダム開始:
cd /usr/local/redis/bin ./redis-server /usr/local/redis/etc/redis.conf#启动redis并指定配置文件。 #vi /etc/rc.local #设置随机启动。 /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
5) 起動が成功したかどうかを確認します
ps -ef | grep redis netstat -tunpl | grep 6379#查看端口是否占用。
cd /usr/local/redis/bin ./redis-cli#进入 quit#退出
pkill redis-server#关闭 ./redis-cli shutdown#关闭
Redis のセキュリティ
Redis のセキュリティ???(次の 4 つの方法による)
1. ACL コントローラーのセキュリティを使用する。
2. 次の設定行を redis.conf 設定ファイルに追加して、redis を単一のインターフェイスにバインドします (ただし、このネットワーク カードからのデータを受け入れるだけではありません)。
bind 127.0.0.1
3. より長いパスワードを redis に追加します (覚えておく必要はありません)
4. redis では、 .conf 設定により認証機能が有効になります。
5.SSL プロキシ
6.指定されたコマンドを無効にします。
daemonize バックグラウンドで実行する必要がある場合は、この項目を [はい] に変更します
bind バインディング IP でデフォルトで複数の PID アドレスを構成します。設定後は、この IP からのリクエストのみを受け入れます
port listen ポート、デフォルトは 6379 です。
timeout クライアント接続時のタイムアウトを秒単位で設定します。
loglevel debug、verbose、notice の 4 つのレベルに分かれています。 、警告
logfile ログ ファイルのアドレスを構成します
databases データベースの数を設定します。デフォルトのデータベースは 0
save redis の頻度を設定します。データベースミラーリングの#rdbcompression ミラーバックアップ実行時に圧縮を行うかどうか
Dbfilename ミラーバックアップファイルのファイル名
Dir Database Fileミラー バックアップの配置パス
Slaveof データベースを他のデータベースのスレーブ データベースとして設定します
Masterauth マスター データベース接続にはパスワードの検証が必要です
Requirepass ログインに必要なパスワードを設定します
Maxclients 同時に接続するクライアントの数を制限します
Maxmemory Redis が使用できる最大メモリを設定します
Appendonly 追加専用モードをオンにします。
次の内容を理解できます。Appendfsync の同期頻度を設定します。 appendonly.aof ファイル
vm-enabled 仮想メモリのサポートを有効にするかどうか
vm-swap-file 仮想メモリのスワップ ファイル パスを設定します
vm-max-memory redis が使用するパスを設定します 物理メモリの最大サイズを設定します
vm-page-size 仮想メモリのページ サイズを設定します
vm-pagesスワップ ファイルの合計ページ番号
vm-max -threads VM IO が同時に使用するスレッドの数を設定しますGlueoutputbuf 小さな出力バッファをまとめて保存します
hash -max-zipmap-entries ハッシュ
Activerehashing Rehash
5 データ型の重要な値を設定します: 文字列、ハッシュ、リンク リスト、セット、順序付きセット。 サポート: プッシュ/ポップ、追加/削除、交差、結合、差分、並べ替え。 redis<===同期====>mysql
同時に、データもハードディスクに書き込まれます。したがって、データは安全です (突然の停電を除き、サービスの再起動は dump.rdb ファイルに書き込まれます)
select num#ライブラリを選択します。デフォルトは 0 ライブラリ、合計 16 ライブラリです。
auth liweijie#承認されたユーザーに必要なパスワード (パスワードは redis.conf で設定されたパスワードです)
flushdb#データベースをクリアします。
String (文字列) 型:
set name lijie#キー name の値を lijie に設定します
get name#name の値を取得します。
keys *#すべてのキーをクエリします。
setnx name liweijie#キーがすでに存在する場合は、上書きを防ぐために 0 を返し、更新されません。
setex ヘアカラー 10 赤 #設定されたキー値の有効期間は 10 秒です。
setrange email 6 Lampbre.com#lambre.com への置換キーの値を 6 文字目から変更します
mset name1 Li Dawei name2 Li Xiaowei#複数の値を設定しますキー。
msetnxname1 Zhang San name3 Li Si# キーが存在するかどうかを確認します。存在しない場合は設定します。存在しない場合は設定されず、0
が返されます。mget name1 name2 name3#複数のキーの値を一度に取得します。
getset name1 Tom#キーの値をリセットし、古いキーの値を返します。
getrange email 6 18#6 番目から 18 番目までの文字から電子メール キーの値を取得します。
incr uid#は毎回 1 ずつ増加します (キー内の uid が存在しない場合は、それを設定して 0 から開始します。以下同様)
incrby uid 5#は毎回 5 ずつ増加しますtime
incrby uid -5#毎回 5 ずつ減少します
decr uid #毎回 1 ずつ減少します
decrby uid 5#毎回 5 ずつ減少します
appendname1 @ 126.com#name1 の値に文字列 @126.com を追加します
##strlenname1#キー name1 の値の長さを返します。 ハッシュ (ハッシュ) タイプ: hset user:001 name liweijie#Hash は、ユーザー user:001 の名前キー値を liweijie一般的な Redis コマンド
キー/値関連のコマンド。 keys * #すべての keys をクエリ user*#指定された exists user:001# をクエリして、存在するかどうかを確認します。 del name#指定されたキーを削除します。expire addr 10#设置过期时间
ttl addr#查询过期时间
select 0 #选择数据库
move age 1#将age移到1数据库。
get age #获取
persist age#移除age的过期时间。
randomkey#随机返回一个key
rename name1 name2#重命名键
type myset#返回键的类型。
ping #测试redis连接是否存活。
echo lamp#输出一个lamp
select 10#选择数据库。
quit/exit/crtl+C#退出客户端
dbsize#返回库里的键的个数。
服务器相关命令:
info#显示redis服务器的相关信息。
config get */loglevel #返回所有/指定的配置信息。
flushdb#删除当前库中的所有键/表。
flushall#删除所有数据库中的所有键/表
二、Redis高级部分:
1、Redis安全性:
1.用ACL控制器安全性。
2.给redis加上较长密码
# requirepass foobared
requirepass beijing
3.在redis.conf配置启用认证功能。
方式一:Auth beijing
方式二:./redis-cli -a beijing
4.在redis.conf配置文件增加下面这一行配置,即可把redis绑定在单个接口上(但并不是只有接受这个网卡的数据)。
bind 127.0.0.1(单台机器的时候可以配置,分布式或主从复制时最好不要配置)
5.SSL代理
6.禁用指定命令。
2、Redis主从复制:
redis只需在从服务器(slave)上配置即可:
slaveof 211.122.11.11 6379 #指定master 的ip 和端口
masterauth beijing#这是master主机的密码
Info#查看主/从服务器的状态。
3、Redis事务处理:
Redis事务很不完善。
4、Redis持久化机制:
方式一、备份数据到磁盘(快照)[ snapshotting(快照)也是默认方式]
记录操作命令[ Append-only file(缩写aof)的方式]
备份数据到磁盘(快照)[ snapshotting(快照)也是默认方式]
save 900 1 #900秒内如果超过1个key被修改,则发起快照保存 save 300 10 #300秒内容如超过10个key被修改,则发起快照保存 save 60 10000
方式二、记录操作命令[ Append-only file(缩写aof)的方式](较安全持久化)
appendonly yes #启用aof 持久化方式 # appendfsync always //收到写命令就立即写入磁盘,最慢,但是保证完全的持久化 appendfsync everysec //每秒钟写入磁盘一次,在性能和持久化方面做了很好的折中
以上がRedisの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。