Redis--基础知识

1. 通用命令

  1. keys pattern

    1. 用法: ?配置0或1个字符,*匹配0或多个字符。
    2. 注意点:时间复杂度是O(n)的,数据量过大时,因为redis是单线程,会导致阻塞。
    3. 正确使用扫描keys:
      1. 从从备节点中进行操作。
      2. 使用Scan进行扫描。
  2. dbsize:计算key的总数,时间复杂度为O(1)

    1. 概述:redis内存一直存储着一个变量,该变量用于计算当前redis中的key的数量。
  3. exist key:检查key是否存在。

  4. del key:删除指定key-value。

  5. expire key seconds:key在seconds秒后过期。

  6. ttl key:查看key在多少秒后过期。

    1. 返回值 >= 0:说明还是在有效期内。
    2. 返回值 -1: 说明永不过期。
    3. 返回值 -2:已经过期。
  7. persist key:去掉key的过期时间。

  8. type key:key对应value的类型。

2. 数据结构和内部编码

在这里插入图片描述

3. 单线程

  1. 简介
    在这里插入图片描述
  2. 使用redis需要注意的地方
    在这里插入图片描述

4. 数据类型

1. String
  1. 基础:value最大不能超过512M;value可以存放:字符串、数字、JSON、XML等。
  2. 场景:缓存、计数器、分布式锁。
2. Hash
  1. 结构
    在这里插入图片描述
  2. 特点
    在这里插入图片描述
  3. String和Hash的区别
    1. String 若想一个键存储一个对象,需要JSON化这个对象才行;而Hash可以一个key对应多个field以及field对应的value(也就可以存储一个对象,且更加容易操作);
    2. String可以对单个键设置过期时间;Hash无法针对某个field设置过期时间。
    3. String更新一个对象,得整体更新;Hash更新一个对象,只需要更新field即可。
3. List
  1. 结构
    在这里插入图片描述
  2. 特点
    在这里插入图片描述
  3. 重要的API
    在这里插入图片描述
    ltrim:若是一次性删除key的话,数据量过大时,容易造成阻塞。使用ltrim则可以不断的删除小批量的数据,最后达到删除全部的数据。
    在这里插入图片描述
    在这里插入图片描述
  4. 使用技巧
    在这里插入图片描述
4. Set
  1. 重要的API
    在这里插入图片描述

    1. smembers:获取set中所有的元素,数据量过大容易造成阻塞,需要小心使用。可以使用scan来根据游标来获取数据。
  2. 特点

    1. 无序、不重复、集合间可以进行操作。
  3. 实战
    在这里插入图片描述
    在这里插入图片描述

5. Zset
  1. 结构
    在这里插入图片描述

  2. Zset和不同集合之间的比较
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值