Redis常用命令
2017-03-02 11:28
260 查看
Redis常用命令
转自:http://cuiqingcai.com/431.html
一、字符串
以实际输入的命令为例
1.建立键值对
1 | set bar 1 |
2.判断键是否存在
1 | exists bar |
若存在则返回1,不存在返回0
3.删除键
1 | del bar |
4.查看所有的键
1 | keys * |
5.获得键值的数据类型
1 | type foo |
6.获得键对应的值
1 | get foo |
7.自增
1 | incr foo |
1 | incrby foo 3 |
8.自减
1 | decr foo |
减小1个数值
1 | decrby foo 3 |
减小3个数值
9.增加指定浮点数
1 | incrbyfloat bar 2.5 |
10.向尾部追加值
1 | append bar hehe |
1 | append bar " world" |
11.获取字符串长度
1 | strlen bar |
12.同时设置多个键值对
1 | mset key1 value1 key2 value2 key3 value3 |
13.同时获得多个键值对应内容
1 | mget key1 key2 |
12 | 1)value12)value2 |
二、散列
1.赋值和取值
1 | hset key field value |
1 | hset car price 500 |
1 | hget car price |
1 | hmset car price 500 name BMW |
1 | hmget car price name |
2.判断字段是否存在
1 | hexists car price |
3.只获得字段名
1 | hkeys car |
4.只获得字段值
1 | hvals car |
5.获得字段数量
1 | hlen key |
三、列表
1.向两边添加元素
1 | lpush group 1 |
1 | rpush group 2 |
12 | 1) "1" 2) "2" |
2. 从两边弹出元素
1 | lpop group |
1 | rpop group |
3.获取列表中元素的个数
1 | llen group |
4.获得列表片段
1 | lrange group 0 3 |
1 | lrange group -2 -1 |
特殊地:获取所有元素则可以这么写
1 | lrange group 0 -1 |
5.删除列表中指定的值
1 | lrem group count value |
当count < 0,它会从右边开始删除前|count|个值为value的元素。
但count = 0,它会删除所有值为value的元素。
6.获得索引处的值
1 | lindex group 0 |
7.设置索引处的值
1 | lset group 1 5 |
8.只保留特定的片段
1 | ltrim group 0 1 |
9.向列表中插入元素
1 | linsert group after 2 5 |
insert group before 2 5
从左边开始查询,找到数字2,在前面插入数字5
四、集合
1.添加元素
1 | sadd hello 2 4 5 |
2.删除元素
srem hello 4 5从集合中删除4 5,返回值是成功删除的元素数量3.获得集合中所有元素
1 | smembers hello |
4.判断元素是否在集合中
sismember hello 2判断2是否在集合hello中
存在返回1,不存在返回0
5.集合的运算
差集
1 | sdiff setA setB |
交集
1 | sinter setA setB |
并集
1 | sunion setA setB |
6.获得集合大小
1 | scard setA |
7.随机获得集合中的数字
1 | srandmember setA |
五、有序集合
1.增加元素
增加时需要指定元素的分数和元素的名称1 | zadd score 89 Tom 45 Amy |
1 | zadd score 2.3 Mike |
1 | zadd score +inf Bob |
2.获得元素分数
1 | zscore score Tom |
3.获得排名在某个范围内的元素列表
1 | zrange score 0 2 |
1 | zrange score 0 -1 withscores |
4.获得指定分数范围的元素
1 | zrangebyscore score 45 80 |
如果不想是闭区间,则可以在索引前面加上(
1 | zrangebyscore score (45 80 |
5.取某几个值
zrangebyscore score (45 80 limit 0 3取(45,80]之间的元素,从第一个开始,取3个6.增加某个元素分数
1 | zincrby score 5 Tom |
1 | zincrby score -2 Tom |
7.给某个元素重新赋值分数
同样用zadd命令1 | zadd score 22 Tom |
8.获得集合中元素的数量
1 | zcard score |
9.获得指定分数范围内元素个数
1 | zcount score 79 90 |
10.删除一个或者多个元素
1 | zrem score Tom |
11.按照分数删除元素
1 | zremrangebyrank score 0 1 |
12.按照分数删除元素
1 | zremrangebyscore score 28 99 |
13.获得元素排名
1 | zrank score Tom |
反向排名
1 | zrevrank score Tom |