Redis

redis集群 使用lvs(haporxy)代理使用corosync进行负载均衡,最后写至redis服务的三层结构;

redis-cli

登录连接服务器命令

默认直接连接 远程连接-h 192.168.1.20 -p 6379;
ping:测试连接是否存活如果正常会返回pong;
echo:打印;
select:切换到指定的数据库,数据库索引号 index 用数字值指定,以 0 作为起始索引值;
quit:关闭连接(connection);
auth:简单密码认证

服务端命令

time:返回当前服务器时间;
client list: 返回所有连接到服务器的客户端信息和统计数据 参见http://redisdoc.com/server/client_list.html;
client kill ip:port:关闭地址为 ip:port 的客户端;
save:将数据同步保存到磁盘;
bgsave:将数据异步保存到磁盘;
lastsave:返回上次成功将数据保存到磁盘的Unix时戳;
shundown:将数据同步保存到磁盘,然后关闭服务;
info:提供服务器的信息和统计;
config resetstat:重置info命令中的某些统计数据;
config get:获取配置文件信息;
config set:动态地调整 Redis 服务器的配置(configuration)而无须重启,可以修改的配置参数可以使用命令 CONFIG GET * 来列出;
config rewrite:Redis 服务器时所指定的 redis.conf 文件进行改写;
monitor:实时转储收到的请求;
slaveof:改变复制策略设置;

key

exists(key):确认一个key是否存在;
del(key):删除一个key;
type(key):返回值的类型;
keys(pattern):返回满足给定pattern的所有key;
randomkey:随机返回key空间的一个;
keyrename(oldname, newname):重命名key;
dbsize:返回当前数据库中key的数目;
expire:设定一个key的活动时间(s);
ttl:获得一个key的活动时间;
move(key, dbindex):移动当前数据库中的key到dbindex数据库;
flushdb:删除当前选择数据库中的所有key;
flushall:删除所有数据库中的所有key;

string

set(key,value):给数据库中名称为key的string赋予的value;
get (key):返回数据库中名称为key的string的value;
append (key,value):名称为key的string的附加值为value;
strlen (key):显示key的value的长度;
incrby (key,value):将key的原有值增加value;
exists(key):确认一个key是否存在;

[root@localhost ~]# redis-cli127.0.0.1:6379> set name alexOK127.0.0.1:6379> get name "alex"
127.0.0.1:6379> append name lin(integer) 7
127.0.0.1:6379> get name"alexlin"
127.0.0.1:6379>
list:列表

rpush (key,value1,value2...):在名称为key的list尾添加值为value的元素;
lpush (key,value1,value2...):在名称为key的list头添加值为value的元素;
lpop (key):返回并删除名称为key的list中的首元素;
rpop (key):返回并删除名称为key的list中的尾元素;
llen (key):返回名称为key的list的长度;
lrange (key,start,end):返回名称为key的list头添加一个值为value的元素;
ltrim (key,start,end):截取名称为key的list;
lindex (key,index):返回名称为key的list中index位置的元素;
rpoplpush(srckey, dstkey):返回并删除名称为srckey的list的尾元素,并将该元素添加到名称为dstkey的list的头部

127.0.0.1:6379> rpush weekdays sun mon
(integer) 2127.0.0.1:6379> rpush weekdays tue wen
(integer) 4127.0.0.1:6379> lindex weekdays 1"mon"127.0.0.1:6379> lindex weekdays 2"tue"127.0.0.1:6379> 
127.0.0.1:6379> llen weekdays
(integer) 5127.0.0.1:6379> lpop weekdays"sta"127.0.0.1:6379> rpop weekdays"tue"127.0.0.1:6379> llen weekdays
(integer) 3127.0.0.1:6379> lindex weekdays 1"sun"127.0.0.1:6379> lindex weekdays 2"mon"
set

sadd(key,member):向名称为key的set中添加元素member;
srem(key,member):删除名称为key的set中的元素member;
spop(key) :随机返回并删除名称为key的set中一个元素;
smembers(key) :返回名称为key的set的所有元素;
smove(srckey, dstkey, member) :移到集合元素;
sinter(key1,key2...keyn):求交集;
sinterstore(dstkey,(keys)):求交集并将交集保存到dstkey的集合;
sismember(key, member) :member是否是名称为key的set的元素;
sunion(key1, (keys)) :求并集;
sdiff(key1, (keys)) :求差集;
sdiffstore(dstkey, (keys)) :求差集并将差集保存到dstkey的集合;
srandmember(key) :随机返回名称为key的set的一个元素;
smove(srckey,dstkey,member):迁移到集合元素;
scard(key) :返回名称为key的set的基数

127.0.0.1:6379> sadd move sanguo(integer) 1
127.0.0.1:6379> sadd move shaolin(integer) 1
127.0.0.1:6379> smembers move1) "shaolin"
2) "sanguo"
127.0.0.1:6379> spop move"sanguo"
127.0.0.1:6379> smembers move1) "shaolin"
127.0.0.1:6379> 
127.0.0.1:6379> smembers names1) "shaolin"
2) "momtou"
3) "xinwen"
4) "guai"
5) "zhuge"
127.0.0.1:6379> smembers move1) "momtou"
2) "shaolin"
3) "guai"
4) "shuihu"
127.0.0.1:6379> sdiff move names1) "shuihu"
127.0.0.1:6379> sunion move names1) "shaolin"
2) "xinwen"
3) "shuihu"
4) "momtou"
5) "guai"
6) "zhuge"
127.0.0.1:6379> sdiff names move1) "xinwen"
2) "zhuge"
127.0.0.1:6379>
hash

hset (key,field,value):向名称为key的hash中添加元素filed;
hget (key,field):返回名称为key的hash中field对应的value;
hmget(key, (fields)):返回名称为key的hash中field i对应的value;
hmset(key, (fields)):向名称为key的hash中添加元素field;
hincrby(key, field, integer):将名称为key的hash中field的value增加integer;
hexists(key, field):名称为key的hash中是否存在键为field的域 hdel(key, field):删除名称为key的hash中键为field的域 hlen(key):返回名称为key的hash中元素个数 hkeys(key):返回名称为key的hash中所有键 hvals(key):返回名称为key的hash中所有键对应的value hgetall(key):返回名称为key的hash中所有的键(field)及其对应的value

127.0.0.1:6379> hset 1 name alex
(integer) 1127.0.0.1:6379> hset 1 age 20(integer) 1127.0.0.1:6379> hset 1 mangle M(integer) 1127.0.0.1:6379> hset 1 wife hui 
(integer) 1127.0.0.1:6379> hmget 1(error) ERR wrong number of arguments for 'hmget' command127.0.0.1:6379> hmget 1 name age mangle wife1) "alex"2) "20"3) "M"4) "hui"127.0.0.1:6379>
持久化

save:将数据同步保存到磁盘;
bgsave:将数据异步保存到磁盘;
lastsave:返回上次成功将数据保存到磁盘的Unix时戳;
shundown:将数据同步保存到磁盘,然后关闭服务;

远程控制服务

info:提供服务器的信息和统计;
monitor:实时转储收到的请求;
slaveof:改变复制策略设置;
config:在运行时配置Redis服务器;