前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Redis常用命令

Redis常用命令

作者头像
爱撒谎的男孩
发布2019-12-31 15:06:22
4570
发布2019-12-31 15:06:22
举报
文章被收录于专栏:码猿技术专栏码猿技术专栏

文章目录

  1. 1. Redis常用命令
    1. 1.1. Redis全局命令
    2. 1.2. 内部编码
      1. 1.2.1. String 类型
      2. 1.2.2. Hash 哈希
    3. 1.3. 慢查询命令
    4. 1.4. 事务

Redis常用命令

Redis全局命令

  • keys * : 查看所有的key,这个会遍历所有的键,复杂度为O(n),因此当存在了大量的key,应该禁止使用这个命令
  • dbsize :查看键key的个数,这个是直接获取内置的键总数变量,因此复杂度为O(1)
  • exists key : 检查键值是否存在,存在返回1,否则返回0
  • del key : 删除指定的键值
    • del a : 删除一个键
    • del a b c : 同时删除多个键
  • expire key seconds : 设置键的过期时间,单位为秒,超过过期时间会自动删除该键
  • ttl key: 查看键的剩余过期时间
    • 大于0的整数: 剩余过期时间
    • -1 :没有设置过期时间
    • -2 : 该键不存在
  • type key : 查看key的类型,如果不存在返回none

内部编码

String 类型

  • 字符串类型的内部编码有3种:
    • int: 8个字节的长整型。
    • embstr:小于等于39个字节的字符串。
    • raw : 大于39个字节的字符串。
  • Redis会根据当前值的类型和长度决定使用哪种内部编码实现
  • 比如set age 1,此时的编码就是int,可以使用object encoding age查看

Hash 哈希

  • ziplist (压缩列表):当哈希类型元素个数小于hash-max-ziplist-entries配置(默认512个)、同时所有值都小于hash-max-ziplist-value配置(默认64字节)时,Redis会使用ziplist作为哈希的内部实现,ziplist使用更加紧凑的结构实现多个元素的连续存储,所以在节省内存方面比hashtable更加优秀。
  • hashtable(哈希表):当哈希类型无法满足ziplist的条件时,Redis会使用hashtable作为哈希的内部实现,因为此时ziplist的读写效率会下降,而hashtable的读写时间复杂度为O(1)。

慢查询命令

  • config set slowlog-log-slower-than 20000 : 设置预设阀值,单位为毫秒,当命令执行的时间查过这个时间,那么将会被记录到慢查询日志中
  • config set slowlog-max-len:慢查询日志最多存储的条数,慢查询日志使用的是队列存储的,先进先出,如果超过这个数,那么最先添加的日志将会被清除
  • config rewrite : 将配置持久化到本地配置文件中
  • slowlog get [n]: 返回慢查询的日志信息,其中对应的属性为id,发生时间戳、命令耗时、执行命令和参数
  • slowlog len : 慢查询日志数量
  • slowlog reset : 慢查询日志重置

事务

  • multi : 开启事务
  • exec :结束事务
    • 出现语法错误的异常事务将会回滚
    • 出现运行的异常,那么事务将不会回滚
  • discard : 中断事务
  • watch key ..... : 在事务开始之前监视key,如果这个key对应的值在当前客户端开始事务之前被另外一个客户端修改了,那么当前客户端的事务将会失败
代码语言:javascript
复制
## 开启事务
multi 
## 添加信息,语法正确
sadd user:1 user1
## 语法错误
sdd user:1 user2 
## 结束事务,执行语句,出现语法错误信息,事务回滚
exec
  • 如果我们将上面的sdd user:1 user2,修改成zdd user:1 10 user2,那么语法是正确的,但是会出现运行时异常,这个时候事务将不会回滚,第一条执行的语句将会生效
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-06-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Redis常用命令
    • Redis全局命令
      • 内部编码
        • String 类型
        • Hash 哈希
      • 慢查询命令
        • 事务
        相关产品与服务
        云数据库 Redis
        腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档