Redis環境構築
4536 ワード
1.概要
Redisはオープンソースのkey-valueデータベースです.また、データ構造サーバとしてよく考えられます.そのvalueには基本的なstringタイプだけでなくlist,set,sorted set,hashタイプも含まれているからです.もちろんこれらのタイプの要素もstringタイプです.すなわちlist,setのこれらの集合タイプにもstringタイプしか含まれない.これらのタイプで原子的な操作をたくさんすることができます.たとえば、1文字valueに文字列を追加します(APPENDコマンド).1つの数字文字列を加算または減算(INCRコマンドは、もちろん整数で処理される).リストタイプに対してpush、pop要素操作(スタックとキューをシミュレートできます)を行うことができます.setタイプについては、いくつかのセット関連操作(intersection union difference)を行うことができる.Memcacheにも+,--に似たコマンドがあります.ただし、Memcacheのvalueにはstringタイプしか含まれていません.Redisのvalueタイプが豊富ではありません.Memcaheと同じように性能のためです.Redisのデータは通常メモリに格納されます.もちろん、Redisは、メモリ内のデータをディスクに一定時間ごとに書き込み、データの損失を防ぐことができます.Redisはまた、マスタースレーブレプリケーションメカニズム(master-slave replication)をサポートする.Redisの他の機能には、簡単なトランザクションサポートとパブリッシュサブスクリプション(pub/sub)チャネル機能が含まれており、Redis構成管理は非常に簡単です.さまざまな言語バージョンのオープンソースクライアントクラスライブラリもあります.
2.インストール
公式サイト:
http://redis.io/
最新バージョン2.6.4公式サイト紹介:
This is the newest Redis version replacing Redis 2.4. Redis 2.6 features support for Lua scripting, milliseconds precision expires, improved memory usage, unlimited number of clients, improved AOF generation, better performance, a number of new commands and features. For the complete list of new features, and the list of fixes contained in each 2.6 release, please check the Release Notes.
-ネットワークのインストール:
makeが完了するとredis-2.6.4/srcディレクトリの下にコンパイルされたredisサービスプログラムredis-serverが表示され、テスト用のクライアントプログラムredis-cliも表示されます.
-Redisサービスを開始します.
redisサービスプロセスを開始すると、テストクライアントプログラムredis-cliとredisサービスインタラクションを使用することができる.
たとえば
-redisで使用するポートを開く
-構成
追加
構成を有効にする
vm.overcommit_memoryパラメータの意味参照
http://bkeep.blog.163.com/blog/static/12341429020123795827876/
redis.conf
次のようになります.
プロファイル起動の選択
クライアントはtelnetでredisサーバに接続することもできます
参照先:
http://www.cnblogs.com/xhan/archive/2011/02/01/1948751.html
Redisはオープンソースのkey-valueデータベースです.また、データ構造サーバとしてよく考えられます.そのvalueには基本的なstringタイプだけでなくlist,set,sorted set,hashタイプも含まれているからです.もちろんこれらのタイプの要素もstringタイプです.すなわちlist,setのこれらの集合タイプにもstringタイプしか含まれない.これらのタイプで原子的な操作をたくさんすることができます.たとえば、1文字valueに文字列を追加します(APPENDコマンド).1つの数字文字列を加算または減算(INCRコマンドは、もちろん整数で処理される).リストタイプに対してpush、pop要素操作(スタックとキューをシミュレートできます)を行うことができます.setタイプについては、いくつかのセット関連操作(intersection union difference)を行うことができる.Memcacheにも+,--に似たコマンドがあります.ただし、Memcacheのvalueにはstringタイプしか含まれていません.Redisのvalueタイプが豊富ではありません.Memcaheと同じように性能のためです.Redisのデータは通常メモリに格納されます.もちろん、Redisは、メモリ内のデータをディスクに一定時間ごとに書き込み、データの損失を防ぐことができます.Redisはまた、マスタースレーブレプリケーションメカニズム(master-slave replication)をサポートする.Redisの他の機能には、簡単なトランザクションサポートとパブリッシュサブスクリプション(pub/sub)チャネル機能が含まれており、Redis構成管理は非常に簡単です.さまざまな言語バージョンのオープンソースクライアントクラスライブラリもあります.
2.インストール
公式サイト:
http://redis.io/
最新バージョン2.6.4公式サイト紹介:
This is the newest Redis version replacing Redis 2.4. Redis 2.6 features support for Lua scripting, milliseconds precision expires, improved memory usage, unlimited number of clients, improved AOF generation, better performance, a number of new commands and features. For the complete list of new features, and the list of fixes contained in each 2.6 release, please check the Release Notes.
-ネットワークのインストール:
$ wget http://redis.googlecode.com/files/redis-2.6.4.tar.gz
$ tar xzf redis-2.6.4.tar.gz
$ cd redis-2.6.4
$ make
makeが完了するとredis-2.6.4/srcディレクトリの下にコンパイルされたredisサービスプログラムredis-serverが表示され、テスト用のクライアントプログラムredis-cliも表示されます.
-Redisサービスを開始します.
$ src/redis-server
redisサービスプロセスを開始すると、テストクライアントプログラムredis-cliとredisサービスインタラクションを使用することができる.
たとえば
$ src /redis-cli
redis 127.0.0.1:6379> > set foo bar
OK
redis 127.0.0.1:6379> > get foo
"bar"
-redisで使用するポートを開く
iptables -I INPUT -i em1 -p tcp --dport 6379 -j ACCEPT
iptables -I OUTPUT -o em1 -p tcp --sport 6379 -j ACCEPT
/etc/rc.d/init.d/iptables save
-構成
vi /etc/sysctl.conf
追加
vm.overcommit_memory = 1
構成を有効にする
/sbin/sysctl -p
vm.overcommit_memoryパラメータの意味参照
http://bkeep.blog.163.com/blog/static/12341429020123795827876/
redis.conf
mkdir conf
cd conf
touch redis.conf
vi redis.conf
次のようになります.
#<yes|no>: daemon yes|no (default:no)
daemonize yes
#<*.pid>:pid ,daemonize yes *.pid (ex:/var/run/redis.pid)
pidfile /opt/redis/offset-redis.pid
#<port>: (default:6379)
port 6379
#<seconds>: ( : )
timeout 300
#<debug|verbose|notice|warning>:log debug|verbose|notice|warning
loglevel warning
#<filename>:log (default:stdout)
logfile /opt/redis/offset-redis.log
#<number>:
databases 16
#<yes|no>: yes|no (default:yes)
rdbcompression yes
# 3 redis
#900 1 key ,
save 900 1
#300 10 key ,
save 300 10
#60 10000 key ,
save 60 10000
#<*.rdb>: ( , ) *.rdb
dbfilename offset-dump.rdb
#<directory>: ( )
dir /opt/redis/
#<yes|no>: aof , , 。 yes|no
appendonly no
#<always|everysec|no>:appendonlylog , appendonly (always: fsync; everysec: fsync; no: fsync )
#appendfsync no
#
maxmemory 4gb
# redis ,
maxmemory-policy allkeys-lru
プロファイル起動の選択
redis-2.6.4/src/redis-server conf/redis.conf
クライアントはtelnetでredisサーバに接続することもできます
telnet 192.168.1.80 6379
参照先:
http://www.cnblogs.com/xhan/archive/2011/02/01/1948751.html