redis常用命令及结构

时间:2021-02-23 09:44:37
##常用结构及命令:

keys *   #查询所有key

randomkey  #随机返回key 

type key  #返回key的类型

exists key  #判断key是否存在

del key1 key2...  #删除一个或多个key

rename key newkey  #修改key名

renamenx key newkey  #如果要改的key名不存在则修改,如果存在则失败

move key db  #将key移动到指定的库

ttl key  #查询key的生命周期,返回秒,-1为永久有效,还有一种特殊情况就是查询的key不存在也会返回-1

expire key int  #为key设置生命周期,单位秒

pexpire key int  #为key设置生命周期,单位毫秒,此时查询生命周期用pttl key,返回毫秒

persist key  #将key改为永久有效


##字符串结构:

set key value  #设置值为value的key键,如果key存在则替换旧值

mset  key1 value1  key2 value2 ...     #设置多个键值

get key  #返回key键的值

mget key1 key2 ...    #返回多个key值

incr key    #指定的key的值加1

incrby key number    #指定的key的值加指定的number

incrbyfloat key floatnumber    #指定的key的值加指定的浮点number

decr key    #指定的key的值减1

decrby key number    #指定的key的值减指定的number


##link链表结构

lpush key value  #从左侧添加一个key

rpush key value  #从右侧添加一个key

lrange key start stop  #返回链表中的一段元素,左侧从0开始,右侧从-1开始

lpop key  #返回并删除链表头元素

rpop key  #返回并删除链表尾元素

lrem key count value  #删除key链表中count个value值,count>0从头部开始,count<0从尾部开始

ltrim key start stop  #从链表中截取一段作为该key的值,其余部分被删除

linsert key before|after pivot value  #在key链表中搜索pivot值,并在pivot值之前或之后插入value值

llen key  #返回链表长度

lindex key index  #返回索引上的值,如:lindex name 0;

##无序集合(具有无序性和唯一性):

sadd key value1 value2...  #向集合key中增加一个或多个value,因为具有唯一性,所以重复添加一个同样的值会失败

smembers key  #返回集合key中的所有值

srandmember key  #随机返回集合key中的一个元素

sismember key value  #判断value这个元素是否在集合key中

srem key value1 value2...  #删除集合key中的一个或多个value

spop key  #返回集合key中一个随机元素并将其删除

scard key  #返回集合key中的元素个数

smove source destination member  #将source集合中的member元素删除并将其添加到destination集合中去

sinter key1 key2...  #返回多个集合的交集

sinterstore dest key1 key2...  #返回多个集合的交集并将交集赋予dest键

sunion key1 key2...  #返回多个集合的并集

sdiff key1 key2...  #返回多个集合的差集


##有序集合(唯一性,需要指定score排序元素):

zadd key score1 value1 score2 value2...  #添加key集合并指定score排序元素

zrange key start stop  #返回key集合第几到第几个元素,start从0开始

zrangebyscore key min max [limit offset num] #按照score元素升序排序key集合返回min到max之间的元素并跳过offset个元素并返回num个元素,如zrangebyscore age 18 22 limit 1 3:按升序排序age集合,返回18到20之间的元素并跳过第一个元素取出三个元素

zrangebyscore key min max [withscores]  #按照score元素升序排序key集合返回min到max之间的元素并返回排序值

zrank key member  #查询key集合member的排名,升序从0开始

zrevrank key member  #查询key集合member的排名,降序从0开始

zrem key value1 value1...  #删除key集合中的一个或多个value元素

zremrangebyrank key start  end  #按排名删除key集合中start到end之间的元素

zremrangebyscore key min max  #按排序删除key集合中min到max之间的元素

zcard key  #统计key集合中的元素个数


##哈希结构:

hset key field value    #为key设置一个field值为value

hmset key field1 value1 field2 value2...    #为key设置多个field值为value

hget key field    #获取key的其中一个field

hmget key field1 field2...    #获取key的多个field

hgetall key    #获取key所有的filed

hdel key field    #删除key其中一个field

hlen key    #返回key中有多少个field

hexists key field    #判断key中有没有filed

hincrby key field increment    #key中的field增加指定的increment

hincrbyfloat key field increment    #key中的field增加指定的浮点increment

hkeys key    #返回key中所有的field

hvals key    #返回key中所有的value