Redis的5种数据类型的命令(上)

423 阅读3分钟

今天先说string和list的命令,剩下的3种留作下一次水,呸,输出文章

先告诉大家一个小知识,redis是有库的概念,0-15,每个库是独立的,默认使用0库,指定库进行数据管理使用 key:库号(0-15)

string类型命令

set key value [EX | PX | KEEPTTL] [NX | XX] [GET]

  • NX 如果存在就不修改
  • XX 不管存不存在直接修改
  • EX seconds 设置键key的过期时间,单位时秒
  • PX milliseconds 设置键key的过期时间,单位时毫秒
  • KEEPTTL 获取 key 的过期时间
  • GET 返回 key 存储的值,如果 key 不存在返回空

get key 获取指定key的value值

mset key1 value1 key2 value2 ...... 插入多条数据

mget key1 key2 ...... 取出多条数据

append key value 在指定key的value值上进行追加value值

GETRANGE key start(开始索引) end(结束索引) 截取指定索引的value值

1616468967(1).jpg

SETRANGE key offset(开始索引) value 指定索引进行覆盖,超过长度自动扩充

strlen key 获取指定key的value的长度

object encoding key 查看制定key的value值所对应的真实编码

INCR key 对制定key进行自增

INCRBY key number 对指定key的value值与number相加(encoding类型为int)

DECR key 对制定key进行自减

DECRBY key number 对指定key的value值与number相减(encoding类型为int)

INCRBYFLOAT key float 与float小数进行相加

MSETNX key1 value1 key2 value2 ...... 多条插入或者修改,如果存在则修改失败,并且整体命令回滚

SETBIT key offset(偏移量) value(只能是0或者1) 操作二进制命令

GETBIT key offset(偏移量) 获取指定key下某偏移量的值(值为1或0)

BITCOUNT:

1616490880(1).jpg

BITOP:

1616548320(1).jpg

BITPOS key number(0或1) start end 返回字符串里面第一个被设置为1或者0的bit位【start、end都是索引号】

list类型命令

lpush key value1 value2 ...... lpush(left push)左添加元素,类似栈内存,先进后出

rpush key value1 value2 ...... rpush(right push)右添加元素,类似队列,先进先出

lrange key start end 返回指定key从start索引到end索引所有值

lpop key 弹出(返回并删除)指定key最边的第一个元素

rpop key 弹出(返回并删除)指定key最边的第一个元素

lindex key index(索引号) 获取指定key的index号索引位的值

lset key index(索引号) value 修改指定key的index号索引值改为value [注:修改已存在的]

linsert key before|after pivot value

指定key的pivot(元素)的before(之前)|after(之后)插入元素value

blpop key1 key2..... time 类似阻塞队列,指定多个key,最左边弹出一个元素,如果指定的多个key中都没有元素,则阻塞tim时间,time设置为0,则是一直阻塞,知道弹出元素

ltrim key start end 指定key保留start到end索引的元素,其余删除

lrem key count value 从列表指定key中删除前count个值等于value的元素。

  • count > 0: 从头到尾删除值为 value 的元素。
  • count < 0: 从尾到头删除值为 value 的元素。
  • count = 0: 移除所有值为 value 的元素。

llen key 返回指定key的元素个数

我开公众号喽,有兴趣的朋友 可以支持下哦,非常感谢

qrcode_for_gh_bb927f8441ff_258.jpg