redisノート
5915 ワード
redisの概要
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構成管理は非常に簡単です.さまざまな言語バージョンのオープンソースクライアントクラスライブラリもあります.
redisインストール
1、windows
, cmd, redis , redis-server.exe redis.conf
redis-cli.exe -h 127.0.0.1 -p 6379
2、linux
, ,
./redis-server redis.conf
redis基本操作
1、 redis
src/redis-server src/redis-server redis.conf
src/redis-server redis.conf 1>log.log 2>errlog.log
1 ,2
Redis Linux
vi /etc/rc.local, :
/root/install/redis-2.4.9/src/redis-server
2、Redis
src/redis-cli
./redis-cli -h -p -a host,port,password
3、
set key value key value
get key key
del key key
exists key key
keys * key
move key ad4 key ad4
persit key key
randomkey key
rename key
type
ping
echo name
quit
dbsize key
info
monitor
config get
flushdb
flushall
redis共通構成
redis Redis , redis.conf
1、 CONFIG
>>> CONFIG GET CONFIG_SETTING_NAME
>>> CONFIG GET *
2、 redis.conf CONFIG set
>>> CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE
3、
redis.conf
1、daemonize no
Redis , , yes
2、pidfile /var/run/redis.pid
Redis ,Redis pid /var/run/redis.pid , pidfile
3、port 6379
Redis , 6379
4、timeout 300
, 0,
5、loglevel verbose
,Redis :debug,verbose,notice,warning, verbose
6、 logfile stdout
, , redis , , /dev/null( )
7、databases 16
, 0, SELECT id
8、save
, , ,
Redis :
save 900 1
save 300 10
save 60 10000
900 (15 ) 1 ,300 (5 ) 10 60 10000
9、dbfilename dump.rdb
, dump.rdb
10、dir ./
11、slaveof
slave , master ip , redis , master
12、masterauth
master ,slave master
13、requirepass foobared
Redis , , redis auth ,
14、maxmemory
Redis ,Redis , ,Redis Key,
, , , 。
Redis vm , Key ,Value swap
15、appendonly no
,Redis , , 。
redis save , 。 no
16、appendfilename appendonly.aof
, appendonly.aof
17、appendfsync everysec
, 3 :
no: ( )
always: fsync() ( , )
everysec: ( , )
18、include /path/to/local.conf
, Redis ,
redisデータ型
Redis :string( ),hash( ),list( ),set( ) zset(sorted set: )
1、keys
redis key-value db, key. key , key
key binary safe , "my key" "mykey
" key
redis binary , redis 。
key :
exits key key , 1 ,0
del key1 key2 ....keyN key, key ,0 key
type key key value 。 none key,string ,list set ...
keys pattern key(* [] ?)
randomkey key, ,
rename oldkey newkey key, newkey , , 1 ,0 。 oldkey newkey
renamenx oldkey newkey , newkey
dbsize key
expire key seconds key , 。 1 ,0 key
ttl key key -1 key
select db-index , 0, 16 。 1 ,0
move key db-index key 。 1 。0 key ,
flushdb key, 。
flushall key, 。
2、string
string redis , string 。 redis string 。 jpg 。 string byte , 1G 。
string ,redis memcached。
string :
set key value key string value, 1 ,0
setnx key value , key , 0 。nx not exist
get key key string , key nil
getset key value key , key 。 key nil
mget key1 key2 ... keyN key , key , nil。