Redis常用服务器相关命令
1.select index: 进入0-15号任意库
2.Quit:退出连接
3.Dbsize:获取当前数据库key数目
4.Flushdb:删除当前库的所有key
5.FlushAll:删除所有数据库的所有key
数据类型
| 存 | 取 |
|
String | Set key value | Get key |
|
Hash | HMSET key field1 value1 Field2 Value2 | HGetAll key HGET key field | 获取所有key Field 取值 |
List | Lpush key value1 value2 | Lrange key startNum stopNum | 先进后出 |
Set | SAdd key value1 value2 | SMembers key | value不能重复 |
ZSet | ZAdd key score value | ZRangeByScore key | score 排序 |
Key键
Del key | 删除key |
ExIsTs key | 检查key是否存在 |
ExPire key seconds | 设置key 在seconds秒后过期 |
ExPireat key timestamp | 设置key 在timestamp时过期 |
Persist key | 移除key 的过期时间 |
Ttl key | 返回key 剩余的过期时间(秒) |
RandomKey | 随机返回一个key(所有类型) |
String类型
KEY:VALUE
Set key value | 给key键赋值value |
Get key | 获取key键的值 |
GeTrange key start end | 获取key键从start到end的值(字符串截取) |
GetSet key value | 设置新的value值并返回旧的value值 |
MGet key1 key2 | 获取多个值 |
Setex key seconds value | 给key赋值value并且存活seconds秒 |
Setnx key value | 当key不存在时赋值value |
StrLen key | 返回key键的value长度 |
MSet key1 value1 key2 value2 | 设置多个键值对 |
IncRby key | 对应key的value增加1 |
Decr key | 对应key的value减少1 |
Hash类型
KEY:[
FIELD:VALUE,
FIELD2:VALUE2
]
HDel key field1 field2 | 删除field域的值 |
HExIsTs key value | 判断是否有value值 |
HGet key field | 获取指定field域的value值 |
HGetAll key | 获取所有field值和value值 |
HIncrby key field increment | 指定field域下的value整数值增加increment |
HKeys key | 获取所有field域 |
HVals key | 获取所有value值 |
HLen key | 获取 field 数量 |
HMGet key field1 field2 | 获取多个field域的value值 |
HMSet key field1 value2 field2 value2 | 同时设置多个field-value到key中 |
HSet key field value | 设置key键的field域的value值 |
HSetNX key field value | 只有field不存在时设置value值 |
List类型
KEY:[
0:VALUE3,
1:VALUE2,
2:VALUE1
]
Ps:先进后出
Ps2:0在redis中表示永远
Ps3:
value1在value2先,value2在value1前。
弹出在先的,取在前的。
BLPop key1 timeout | 在timeout秒内获取并移除第一个元素 |
BRPop key1 timeout | 在timeout秒内获取并移除最后一个元素 |
BRPopLPush key1 key2 timeout | 弹出位于key1的元素插入key2列表并返回 |
RPopLPush key1 key2 | 移除并获取key1列表的最后一个元素并添加到key2 |
LIndex key index | 通过索引index获取元素 |
LInsert key before|after pivot value | 在pivot元素前|后添加元素value |
LLen key | 查看列表key的长度 |
LPop key | 移除并获取key列表的第一个元素 |
RPop key | 移除并获取key列表的最后一个元素 |
LPush key value1 value2 | 将多个value值插入头部 |
LPushX key value | 当key列表存在时插入value值到头部 |
RPushX key value | 当key列表存在时插入value值到尾部 |
LRange key start stop | 获取key列表从start到stop范围内的元素 |
LRem key count value | 移除count的value值,+count头部开始,-count尾部开始,count=0全部。 |
LSet key index value | 通过index索引设置列表的value值 |
LTrim key start stop | 只保留从start到stop的元素 |
RPush key value1 value2 | 给key列表添加value1,vlaue2元素 |
Set类型
KEY:[
VALUE3,
VALUE1,
VALUE2
]
Ps:Set 是无序的、非重的。
Ps2:Set 更适应集合操作
SAdd key value1 value2 | 向集合key添加多个成员 |
SCard key | 获取集合key的成员数 |
SDiff key1 key2 | 获取key1和key2的差集 |
SDiffStore key3 key1 key2 | 获取key1和key2的差集并储存到key3中 |
SInter key1 key2 | 获取key1和key2的交集 |
SInterStore key3 key1 key2 | 获取key1和key2的交集并储存到key3中 |
SIsMember key value | 判断key集合中是否有value |
SMembers key | 获取集合key的所有成员 |
SMove key1 key2 value | 将key1的value移动到key2 |
SPop key | 获取并移除一个随机元素 |
SRandMember key count | 获取并移除count个随机元素 |
SRem key value1 value2 | 移除多个元素 |
SUnion key1 key2 | 获取所有集合的并集 |
SUnionStore key3 key1 key2 | 将key1和key2的并集放到key3中 |
SortedSet类型
KEY:[
Sorted1:VALUE3,->0
Sorted2:VALUE1,->1
Sorted3:VALUE2,->2
]
Sorted1<Sorted2<Sorted3
Ps:Sorted为double类型
Ps2:SortedSet 为有序集合
ZAdd key score1 value1 score2 value2 | 添加多个成员到集合中 |
ZCard key | 获取集合的成员数 |
ZCount key min max | 获取sorted区间分数内的成员数 |
ZInterStore key3 numkeys key1 key2 | 将numkeys个key1和key2的交集放到key3中 |
ZIncrby key increment value | 将value值的成员的score增加increment |
ZLexCount key min max | 获取字典区间的成员的数量 |
ZRange key start stop | 分数正序获取start-stop索引区间的成员 |
ZRevRange key start stop | 分数倒序获取start-stop索引区间的成员 |
ZRangeByScore key min max | 获取min-max 分数区间的成员 |
ZRangeByLex key min max | 获取字典区间的成员 |
ZRank key value | 返回成员的索引 |
ZRem key value1 value2 | 移除多个成员 |
ZRemRangeByLex key min max | 移除字典去见的成员 |
ZRemRangeByScore key min max | 移除分数区间的成员 |
ZRevRangeByScore key min max | 分数倒序获取min-max分数区间的成员 |
ZRevRank key value | 返回指定value值的分数倒叙的索引 |
ZScore key value | 获取value的分数值 |
ZunionStore key3 numkeys key1 key2 | 将numkets个key1和key2的并集存到key3中 |
发布订阅(主从?)
略。
事务
Multi命令开始
Exec命令结束
Discard命令清除事务块内命令
Watch key1 key2 监视多个key避免脏读写
Unwatch 取消对key的监视
实例:
Try{
Watch key1;
Multi;
}catch(Exception e){
Discard;
}finally{
Exec;
Unwatch;
}
性能测试
Redis -benchmark
-h 主机名
-p 端口
-c 并发
-n请求