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

Redis常用命令整理

2017-05-10 14:13 489 查看
Redis存储String、存储list、存储set、存储sortedset

String类型

设置值:set key value 
如:set age 18

获取值:get key 
如:get age 

查看所有的key:keys *
,通配符 * /? 在value中查找

keys *b:通配符,查找以b结尾的value的值
keys *b*:查找 value中 有b的
keys ?b:通配符一位,查找value的第二位是字母b

expire a 10:设置key为a的有效时间为10秒,过期删除。存活时间

递增操作:incr key
如:incr age ,将age(数值数据)在原有值基础上+1。如果age不存在,默认其值为0,执行结果为1

递减操作:decr key
如:decr age,将age在原有基础上-1,。如果age不存在,默认其值为0,执行结果为-1

存储list

在Redis中,List类型是按照插入顺序排序的字符串链表

从左侧存值

lpush key value1 value2……:在指定的key所关联的list链表的头部插入所有values,返回list的个数。如果key不存在,新建之。
如:lpush list 1 2 s

从右侧存值

rpush key value1 value2……:在该list的尾部添加元素。

查看list的数据

lrange key start end:start起始索引(0),end结束索引(-1)

如 lrange list 0 -1

删除数据

从左侧删除:lpop key:返回指定key关联的list的头部元素。如果key不存在,返回nil。

如:lpop list

从右侧删除:rpop key:返回……的最后一个元素。

如:rpop list

获取元素个数

llen key:返回指定key关联的list的元素数量。如果不存在,返回0

如:llen list

插入数据:key存在

左侧插入:

lpushx key value :当key值存在时,向关联的list的头部插入value。如果不存在,将不进行插入。

如:lpushx list 1

右侧插入:

rpushx key value:当key值存在时,向关联的list的尾部插入value。如果不存在,将不进行插入。

如:rpushx list 6

删除数据:删除指定个数的指定元素

lrem key count value:如果count>0,则从头向尾遍历并删除;如果count<0,则从尾向头遍历并删除;如果count=0,则删除链表中所有等于value的元素

如:lrem list 2 a:删除list中,从头向尾删除2个元素a

设置元素:设置指定索引的元素

lset key index value:设置list的index的索引值的元素值value,0代表list的头元素,-1代表list的尾元素。执行的是替换操作,将原来的元素覆盖。索引不存在会抛出异常。

如:lset list 3 q:将list的索引3的元素设置为q。

指定元素前后插入新元素:

linsert key before|after source new :在list的第一个source元素前|后插入new元素

如:linsert list before 2 3:在list的第一个2前面插入一个3

rpoplpush命令:

rpoplpush resource destination:将源表的尾部元素弹出,并添加到目标表的头部。

如:rpoplpush list list1。

存储set

添加元素:sadd key value1 value2……:将多个元素添加到set类型中。
如:sadd mySet d 3 5 g h 6

删除元素:srem key members
如:srem mySet 1

查看元素:smembers key
如:smembers mySet

查看指定元素是否存在:sismember key member :0代表不存在,1代表存在
如:sismember set 1

获取set中的数量:scard key
如:scard set,结果为5

随机返回set中一个成员:srandmember key
如:srandmember set

交并查集:
sdiffstore destination key1 key2:将key1、key2相差的成员存储在destination上

sinterstore destination key[key…]:将返回的交集存储在destination上

sunionstore destination key[key…]:将返回的并集存储在destination上

存储sortedset

sorted-set和set类型相似,都不允许重复成员出现在一个set中。Sorted-set中每一个成员都会有一个分数相关联,Redis通过分数来为集合中的成员进行从小到大的排序。数据不能重复,分数可以,数据可以排序(通过分数)。

添加元素:zadd key score1 member1 score2 member2……:在添加重复key时,分数会被覆盖
如:zadd sort 10 zhangsan 20 lisi 30 wangwu

获取指定成员的分数:zscore key member
如:zscore sort wangwu:获取sort中的wangwu的score

获取成员的个数:zcard key
如:zcard sort,结果是3

删除元素:zrem key member1 member2
如: zrem sort wangwu。

范围查找:zrange key start end [withscores]:获取集合中角标为start-end的成员,withscores参数表明返回的成员包含其分数。根据分数排序,0 -1 :全部
如:zrange sort 0 1 withscores

倒叙查找:zrevrange key start end [withscores]:倒叙查找
如:zrevrange sort 0 -1 withscores

zrangebyscore key min max [withscores] [limit offset count]:返回分数在[min,max]的成员并按照分数从低到高排序.[withscores]:显示分数;
[limit offset count]:offset,表明从脚标为offset的元素开始并返回count个成员。

zincrby key increment member:设置指定成员的增加的分数。返回值是更改后的分数。

zcount key min max:获取分数在[min,max]之间的成员

zrank key member:返回成员在集合中的排名。(从小到大)

zrevrank key member:返回成员在集合中的排名。(从大到小)

Redis事务:MULTI/EXEC/DISCARD

multi:开启事务,标记一个事务块的开始。

exec:提交,执行所有事务块内的命令。

discard:取消事务,放弃执行事务块内的所有命令。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  redis