Redis常用命令总结

来源:互联网 发布:ibm云计算 编辑:程序博客网 时间:2024/04/30 13:46


原文地址:http://cuiqingcai.com/431.html

一、字符串

以实际输入的命令为例

1.建立键值对

set bar 1

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

2.判断键是否存在

exists bar

判断键名bar是否存在

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

3.删除键

del bar

删除键名为bar的键值对

若删除成功则返回删除的个数,删除失败(不存在)则返回0

4.查看所有的键

keys *

5.获得键值的数据类型

type foo

获得键名为foo的键值类型

返回值类型可能有 string(字符串),hash(散列),list(列表),set(集合),zset(有序集合)

6.获得键对应的值

get foo

获得键名为foo的键值

7.自增

incr foo

创建一个foo的键值对,并自增为1

但是运行type foo 时,显示为string

增加特定数值

incrby foo 3

使foo增加3

8.自减

decr foo

减小1个数值

decrby foo 3

减小3个数值

9.增加指定浮点数

incrbyfloat bar 2.5

bar增加指定的浮点数2.5

10.向尾部追加值

append bar hehe
append bar " world"

如果是要追加带空格的内容,则要用空格引起来

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

11.获取字符串长度

strlen bar

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

12.同时设置多个键值对

mset key1 value1 key2 value2 key3 value3

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

mget key1 key2
1)value12)value2

二、散列

1.赋值和取值

hset key field value

例如:

hset car price 500
hget car price

同时赋值多个字段的值

hmset car price 500 name BMW
hmget car price name

2.判断字段是否存在

hexists car price

3.只获得字段名

hkeys car

4.只获得字段值

hvals car

5.获得字段数量

hlen key

三、列表

1.向两边添加元素

lpush group 1
rpush group 2

结果

1) "1" 2) "2"

lpush 是向左边添加元素,rpush 是向右边添加元素。

2. 从两边弹出元素

lpop group
rpop group

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

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

llen group

4.获得列表片段

lrange group 0 3
lrange group -2 -1

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

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

lrange group 0 -1

5.删除列表中指定的值

lrem group count value

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

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

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

6.获得索引处的值

lindex group 0

获得索引0位置的元素值

7.设置索引处的值

lset group 1 5

将 group 索引 1 处的值改为 5

8.只保留特定的片段

ltrim group 0 1

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

9.向列表中插入元素

linsert group after 2 5

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

insert group before 2 5

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

四、集合

1.添加元素

sadd hello 2 4 5

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

2.删除元素

srem hello 4 5

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

3.获得集合中所有元素

smembers hello

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

sismember hello 2

判断2是否在集合hello中

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

5.集合的运算

差集

sdiff setA setB

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

交集

sinter setA setB

返回值是setA和setB的交集

并集

sunion setA setB

6.获得集合大小

scard setA

返回值是数目

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

srandmember setA

五、有序集合

1.增加元素

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

zadd score 89 Tom 45 Amy

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

zadd score 2.3 Mike
zadd score +inf Bob

2.获得元素分数

zscore score Tom

如果不存在,返回(nil)

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

zrange score 0 2

带分数显示

zrange score 0 -1 withscores

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

zrangebyscore score 45 80

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

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

zrangebyscore score (45 80

5.取某几个值

zrangebyscore score (45 80 limit 0 3

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

6.增加某个元素分数

zincrby score 5 Tom

给某个元素加5分

zincrby score -2 Tom

给某个元素减2分

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

同样用zadd命令

zadd score 22 Tom

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

zcard score

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

zcount score 79 90

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

zrem score Tom

11.按照分数删除元素

zremrangebyrank score 0 1

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

12.按照分数删除元素

zremrangebyscore score 28 99

他会删除指定分数范围内的元素

13.获得元素排名

zrank score Tom

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

反向排名

zrevrank score Tom

返回从大到小排列后,Tom的索引位置

0 0
原创粉丝点击