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

Redis常用命令

2017-03-02 11:28 260 查看


Redis常用命令

转自:http://cuiqingcai.com/431.html


一、字符串

以实际输入的命令为例


1.建立键值对

1set bar 1
建立了一个键值对,键名叫bar,键值是1

2.判断键是否存在

1

exists
bar

判断键名bar是否存在

若存在则返回1,不存在返回0


3.删除键

1del bar
删除键名为bar的键值对若删除成功则返回删除的个数,删除失败(不存在)则返回0

4.查看所有的键

1

keys *


5.获得键值的数据类型

1type foo
获得键名为foo的键值类型返回值类型可能有 string(字符串),hash(散列),list(列表),set(集合),zset(有序集合)

6.获得键对应的值

1

get
foo

获得键名为foo的键值


7.自增

1incr foo
创建一个foo的键值对,并自增为1但是运行type foo 时,显示为string增加特定数值

1

incrby
foo
3

使foo增加3


8.自减

1decr foo

减小1个数值

1

decrby
foo
3


减小3个数值


9.增加指定浮点数

1incrbyfloat bar 2.5
bar增加指定的浮点数2.5

10.向尾部追加值

1

append
bar
hehe

1append bar " world"
如果是要追加带空格的内容,则要用空格引起来返回值是一个数字,代表现在键值的长度

11.获取字符串长度

1

strlen
bar

返回值是一个数字,代表现在的字符串长度


12.同时设置多个键值对

1mset key1 value1 key2 value2 key3 value3

13.同时获得多个键值对应内容

1

mget
key1
key2

121)value12)value2

二、散列

1.赋值和取值

1

hset
key
field
value

例如:

1hset car price 500
1

hget
car
price

同时赋值多个字段的值

1hmset car price 500 name BMW
1

hmget
car
price
name


2.判断字段是否存在

1hexists car price

3.只获得字段名

1

hkeys
car


4.只获得字段值

1hvals car

5.获得字段数量

1

hlen
key


三、列表


1.向两边添加元素

1lpush group 1
1

rpush
group
2

结果

121) "1" 2) "2"
lpush 是向左边添加元素,rpush 是向右边添加元素。

2. 从两边弹出元素

1

lpop
group

1rpop group
lpop 是从左边弹出元素, rpop 是从右边弹出元素,显示元素的值

3.获取列表中元素的个数

1

llen
group


4.获得列表片段

1lrange group 0 3
1

lrange
group
-2
-1

其中 -2 -1 为负索引,这个也是可行的。-2代表倒数第二个元素,-1代表倒数第一个元素。

特殊地:获取所有元素则可以这么写

1lrange group 0 -1

5.删除列表中指定的值

1

lrem
group
count
value

当count > 0,它会从左边开始删除前count个值为value的元素。

当count < 0,它会从右边开始删除前|count|个值为value的元素。

但count = 0,它会删除所有值为value的元素。


6.获得索引处的值

1lindex group 0
获得索引0位置的元素值

7.设置索引处的值

1

lset
group
1
5

将 group 索引 1 处的值改为 5


8.只保留特定的片段

1ltrim group 0 1
只保留索引0到1的值,其余的删除

9.向列表中插入元素

1

linsert
group
after
2
5

从左边开始查询,找到数字2,在后面插入数字5

insert group before 2 5

从左边开始查询,找到数字2,在前面插入数字5


四、集合


1.添加元素

1sadd hello 2 4 5
向集合中添加2 4 5元素,返回值是成功加入的元素数量

2.删除元素

srem hello 4 5从集合中删除4 5,返回值是成功删除的元素数量

3.获得集合中所有元素

1

smembers
hello


4.判断元素是否在集合中

sismember hello 2

判断2是否在集合hello中

存在返回1,不存在返回0


5.集合的运算


差集

1sdiff setA setB
返回值是集合,返回的是存在集合A中但是不存在B中的元素集合

交集

1

sinter
setA
setB

返回值是setA和setB的交集


并集

1sunion setA setB

6.获得集合大小

1

scard
setA

返回值是数目


7.随机获得集合中的数字

1srandmember setA

五、有序集合

1.增加元素

增加时需要指定元素的分数和元素的名称

1

zadd
score
89
Tom
45
Amy

分数不仅可以是整数,还可以是浮点数

1zadd score 2.3 Mike
1

zadd
score
+inf
Bob


2.获得元素分数

1zscore score Tom
如果不存在,返回(nil)

3.获得排名在某个范围内的元素列表

1

zrange
score
0
2

带分数显示

1zrange score 0 -1 withscores

4.获得指定分数范围的元素

1

zrangebyscore
score
45
80

获得45分到80分的元素,闭区间

如果不想是闭区间,则可以在索引前面加上(

1zrangebyscore score (45 80

5.取某几个值

zrangebyscore score (45 80 limit 0 3取(45,80]之间的元素,从第一个开始,取3个

6.增加某个元素分数

1

zincrby
score
5
Tom

给某个元素加5分

1zincrby score -2 Tom
给某个元素减2分

7.给某个元素重新赋值分数

同样用zadd命令

1

zadd
score
22
Tom


8.获得集合中元素的数量

1zcard score

9.获得指定分数范围内元素个数

1

zcount
score
79
90


10.删除一个或者多个元素

1zrem score Tom

11.按照分数删除元素

1

zremrangebyrank
score
0
1

它先会把它按照分数从小到大排列,然后删除索引位置的元素


12.按照分数删除元素

1zremrangebyscore score 28 99
他会删除指定分数范围内的元素

13.获得元素排名

1

zrank
score
Tom

获得按照分数从小到大排列后,Tom的索引位置

反向排名

1

zrevrank
score
Tom

返回从大到小排列后,Tom的索引位置
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Redis常用命令