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.
-ネットワークのインストール:
$ 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