您的位置:首页 > 数据库 > Redis

Redis学习

2017-09-20 15:43 134 查看
 

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请求
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: