redis通用命令

常用命令
  1. keys [pattern] 获取键值

    keys *   获取所有的键值
    keys na* 获取na开头的键
    
  2. dbsize : 获取键的个数

  3. del: 删除键值对

  4. exists key :判断键值存不存在 存在返回1 不存在返回0

  5. expire: 设置键值的过期时间

  6. type : 获取键值对的数据类型

  7. ttl key : 获取键值对的剩余过期时间

下表是这几个函数的时间复杂度

命令时间复杂度
keysO(N)
dbsizeO(1)
delO(1)
existsO(1)
expireO(1)
typeO(1)
String类型的常用命令
  1. getsetkey newvalue : 给已存在的key设置新的value并返回旧的value

  2. appendkey value : 将value追加到旧的value后面

  3. strlenkey : 返回字符串的长度(注意中文)

  4. incrbyfloatkey value : 将指定的key值和value相加。注意对应key的value要为数值型,若为字符型将报错
    在这里插入图片描述

  5. getrangekey begin end: 获取key对应的value 输出从begin下标到end之间的数据
    在这里插入图片描述

  6. setrangekey index value : 将键值对应的下标index位的数据替换成value
    在这里插入图片描述

  7. mgetkey1 key2 key3 :批量获取键值

  8. 与之对应的是 mset 一次设置多个键值对

  9. setkey value: 不管key存在不存在 都设置

  10. setnxkey value :key不存在才设置(需要注意的是这是一个原子性的命令 还有相似的命令msetnx

  11. set key valuexx: key存在才设置

  12. incrkey: 将制定的key自增 1 若key不存在,则自增后get(key)等于 1

  13. decrkey: 作用和 incr相反

在记住以上命令的使用的时候,需要知道value的微观实际数据类型为string和int和row三种。
当我们存入 字符串的时候,其数据类型是string类型,但当我们存入数值的时候,其真实的类型就变成了int类型。其实想想很简单,若真是字符型,那么incr命令还怎么自增呢?

查看真实数据类型的命令 :object encoding key

另外当字符型的数据长度大于44个字节(3.2版本之前为39)的时候,其真实的类型就变成了row类型。因为 embstr编码专门用来保存短字符串的,通过一次内存分配函数来分配一块连续的空间,一次包含redisObejct和sdshdr两个结构;而raw会调用两次内存分配

哈希类型

所有的哈希类型的数据都是以h开头

  1. hget key field : 获取hash key 对应的field的value
  2. hset key field value : 设置hash key 对应的field的value
  3. hdel key field : 删除hash key 对应的field的value
    在这里插入图片描述
  4. hgetall key field : 获取所有的键值对(注意redis单线程,避免数据过多造成阻塞)
    在这里插入图片描述
  5. string中的方法 hash中基本也有 使用方法类似
list数据类型
  1. linsert key before|after value newValue #在指定对应的元素前或者元素后插入数据
  2. lpush key value1 value2 value3 # 将元素从左到右插入列表(其实直观看就是从右向左)
  3. rpush key value1 value2 value3 # 将元素从右到左插入列表(其实直观看就是从左向右)
  4. lrange key start end # 获取从第start位开始end位结束的元素 当start为0 end为-1时表示 获取所有元素
  5. lpop key # 从列表左侧删除一个元素
  6. rpop key # 从列表右侧删除一个元素
  7. lrem key count value #根据count的值,从列表中删除所有value相同的项
  • count >0 从左向右,删除最多count个value相同的值
  • count < 0 从右向左,删除最多 |count| 个value相同的值
  • count = 0 删除所有value相同的项
  1. ltrim key start end # 按照索引范围剪切列表集合
  2. lset key index newValue # 给指定索引设置新的值
set数据类型
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值