logo科技微讯

腾讯云 redis 使用笔记

作者:科技微讯
日期:2022-04-19
📝 笔记

测试了一下,在腾讯云上海地域的云函数,通过公网操作广州地域的 redis,耗时大概是 35ms 左右,这是在 redis 实例复用的情况下,如果 redis 需要重新建立连接,耗时大概是 75ms,即建立连接也要 30ms 左右。如果走内网,已经建立连接的情况下好像不用 1ms,重新建立连接好像也才几毫秒。

ioredis 连接腾讯云 redis,在云函数中如果不复用连接,需要主动 redis.quit(),如果复用,请参考《腾讯云函数连接 mongoDB 的正确方法:保持数据库连接而不超时》最后的总结部分。

redis 不同地域内网默认不互通,不同地域如果要开通内网访问,需要使用腾讯云的云联网服务,云联网把不同地域的 VPC 关联在一起,所以位于两个不同 VPC 的服务可以互相访问。云联网服务通过带宽收费,免费额度的带宽是 0.01Mbps,仅用于测试连通性,不可能用于业务逻辑。

以下是 redis 支持的部分数据类型

  • string:最普通的数据类型,一个 key 对应一个字符串;
  • list:由字符串组成的数组;
  • set:类似 list,但每个字符串是唯一的,可以通过 sismember 判断某个元素是否存在;
  • sorted set:类似 set,但每个字符串按照一定顺序排列;
  • hash:类似一个对象,每个元素是 field:value 的组合,可以根据 field 选择某个元素并对之进行操作;
  • hyperloglog:一种特别的数据类型,通过 pfadd 往某个 key 添加字符串,然后使用 pfcount 可以获得往这个 key 添加了多少个唯一的字符串;

常用 redis 命令:

  • expire:设置一个 key 的缓存有效期;
  • sadd:添加一个元素到一个 set;
  • scard:计算一个 set 有多少个元素,card 是 cardinality 的简写;
  • zadd:添加一个元素到 sorted set;
  • zcard:计算一个 sorted set 有多少个元素;
  • zcount:类似 zcard,但支持计算位于某个 score 范围内的元素数量;
  • sismember:判断一个元素是不是某个 set 的 member;
  • zscore:获取某个元素的 score,也可以用来判断元素是否在 sorted set 中;
  • incr:为某个 key 增加 1;
  • incrby:为某个 key 增加一个指定的整数;
  • incrbyfloat:增加一个小数;
  • hset:添加一个 hash;
  • hget:获取一个 hash 中某个 key 的 value;
  • hmget:获取一个 hash 中多个 key 的 value;
  • hgetall:获取一个 hash 的所有 key 的 value;
  • hdel:删除一个 hash 中某个 key 及其 value;
  • hincrby:为 hash 中某个元素增加一个整数;
  • hincrbyfloat:为 hash 中某个元素增加一个小数;
  • pfadd:增加元素到某个 hyperloglog;
  • pfcount:返回某个 hyperloglog 的计数;

相关文章:

donation赞赏
thumbsup0
thumbsdown0
暂无评论