欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Redis常用指令

程序员文章站 2022-03-20 17:20:51
Redis 数据类型 赋值 set name chengxiaoning 设置指定key的值 mset age 18 sex 男 设置多个 取值 get name 获取指定的key的值 mget number name 获取多个值 先获取在设置 getset name guoxiaoxiao 将给定 ......

redis 数据类型

(一)string(字符串)

  

赋值          

     set   name  chengxiaoning   设置指定key的值

      mset  age  18   sex  男   设置多个

 

取值          get  name   获取指定的key的值

     mget  number name 获取多个值

 

先获取在设置  getset name  guoxiaoxiao   将给定key设置为value的值,并返回key的旧值

 

删除          del  name 删除key的值  如果有执行成功返回1  失败返回0

 

加一          incr  number 指定key的值自增1

 

减一          decr  number  指定key的值减1

 

指定加值      incrby number  5 key所存储的值加上给定的增加值

指定减值     decrby number  3 key所存储的值加上给定的减值

 

拼凑         append  a  123

 

getrange 返回 key 中字符串值的子字符

(二)hash(哈希)

每个 hash 可以存储 232 -1 键值对(40多亿)。

赋值       hset     hmset 

    hash1   name  zhangsan  设置给定的key的value

              hmset  hash2  name  lisi   age  18   sex  nan 设置多个

取值       hget    hmget   hgetall 

    hget  hash1 name   获取存储在哈希表中指定字段的值

    hmget  hash2  name  age  sex     获取多个

    hgetall  hash2    获取所有的

删除       hdel    del

    hdel  hash2  name   删除指定的字段

      del  hash2  删除指定所有

增加      

    hincrby   hash1 age   5

      hexists hash1  age  查看哈希表 key 中,指定的字段是否存在。

      hlen   hash1   获取哈希表中字段的数量

      hkeys  hash1 获取所有哈希表中的字段

      hvals  hash1  获取哈希表中所有值

(三)list(列表)

  

列表最多可存储 232 - 1 元素 (4294967295, 每个列表可存储40多亿)。

两端添加   

     lpush   mylist     a   b    c   将一个或多个元素插入到列表头部

    rpush   mylist     a   b    c   将一个或多个元素插入到列表尾部

 

查看       

     lrange  mylist     0   3       获取列表指定范围内的元素

                             开始  结束     结束-1 为全部

 

两端弹出   

    lpop    mylsit    移除并获取列表的第一个值

               rpop    mylsit    移除并获取列表的最后一个值

 

获取列表个数  

    llen  mylist    获取列表的长度

 

仅当存在时才插入 lpushx   mylist    q  mylist存在的时候,将p插入到头部

仅当存在时才插入 rpushx   mylist    q  mylist存在的时候,将p插入到尾部

 

删除             

    lrem    mylist    2   a

 

在指定元素前【后】插入元素  linsert  mylist before[after] b   11;   b之后(之前)插入元素

rpoplpush  mylist     mylist2   从一个列表中弹出一个值压入到另一个列表中

(四)set(集合)

添加     sadd   myset     a   b   c

删除     srem   myset  a   b

查看   smembers  myset

是否存在 sismember  myset  a   myseta是否存在

差集     sdiff      myset1   myset2    

交集    sinsert myset1    myset2

并集   sunion   myset      myset2

长度   scard   myset   

随机返回成员    srandmemberset   myset

差集存入变量  sdiffstore     myset1    myset2  myset3   myset2myset3中的相差的值存入myset1

交集存入变量  sinterstore     myset1    myset2  myset3   myset2myset3中的交集的值存入myset1

并集存入变量  sunionstore    myset1    myset2  myset3   myset2myset3中的并差的值存入myset1

 

集合中最大的成员数为 232 - 1(4294967295, 每个集合可存储40多亿个成员)。

(五)zset(sorted set:有序集合)

redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。

不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

zset的成员是唯一的,但分数(score)却可以重复。

 

添加       zadd  mysort    70 张三    80 李四  90王五

取值    zcore  myset     张三

         zcard  mysort   成员数量

删除  zrem   mysort   张三  李四

    zrevrand  mysort   0  4  按照范围删除

    zremrangbyscore  mysort   80  100 删除80100之间的分数

范围查找  zrang  mysort  0  -1全部的内容

    zrem  mysort    0  -1 全部

    zrang  mysort   0   -1 withscores   元素对应的分数

    zrangbyscore  mysort  1  100 withscores

    zincrby   mysort    3  list   list+3

    zcount   mysort   80   90  统计80 90之间有多少