美文网首页
Redis 基本操作

Redis 基本操作

作者: 西门早柿 | 来源:发表于2021-02-01 22:43 被阅读0次

Redis 基本操作

  • set
    • mset
    • setnx
    • setex
    • incr
    • incrby
  • get
    • mget
  • exists
  • del
  • expire

基本数据结构

  • string
    • 位图操作
      • setbit
      • getbit
      • bitcount
      • bitops
      • bitfield get/set/incrby
        • 溢出策略:wrap/sat/fail
  • list
    • rpush
    • llen
    • rpop
    • lpop
    • lindex O(n)
    • ltrim O(n)
    • lrange O(n)
  • hash
    • hset
    • hget
    • hmset
    • hmget
    • hlen
    • hgetall
  • set
    • sadd
    • scard
    • smembers
    • sismember
    • spop
  • zset (WITHSCORES)
    • zadd [score key]
    • zrange [start end]
    • zrevrange
    • zcard
    • zscore [key]
    • zrangebyscore [score0 score1]
    • zrem

分布式锁

  • setnx -> lock
  • del -> unlock
  • 如何保证锁及时得到释放及不被错误释放
    • 过期时间
      • 由于 setnx 和 expire 不是原子指令,可能导致 expire 没有生效
      • set key value ex 5 nx,这个指令是 setnx+expire 的原子指令
    • lock 的值设一个随机数,del 时判断这个随机值是否正确
      • 但 get 和 del 也不是一个原子操作,所以可能会有问题
      • 可以用 lua 脚本将 get 和 del 封装成一个原子操作
  • 可重入锁与非可重入锁

队列

  • rpush/rpop/lpop 非阻塞,浪费 CPU
  • brpush/brpop/blpop
    • 服务端会断开长时间闲置的客户端连接,使用 brpop 时不会永远阻塞,要注意处理异常
  • zset 实现延时任务队列

HyperLoglog

  • 用来模糊统计超大集合中不同 key 的个数,非精确的去重统计方案
  • pfadd/pfcount/pfmerge

Bloom Filter

  • 存在的不一定存在
  • 不存在的一定不存在
  • 实现原理

限流算法

  • 滑动窗口
  • 漏斗算法
  • 令牌桶算法
  • Redis-Cell
    • cl.throttle

GeoHash

  • 用来计算地球坐标之间的距离,包括指定两个坐标间的距离,以及获取离某个坐标最近的几个目标。
  • 内部其实就是一个 zset,保存的是坐标编码之后的值。

keys & scan

  • keys 使用不当会极大的影响 redis 的稳定性
  • scan 0 match key99* count 1000
    • 其中 1000 指的不是返回的结果数,而是约等于遍历的 slot 数
    • scan 的细节
      • 返回结果可能有重复,需要客户端去重
      • 遍历的过程有数据修改,修改后的值能不能遍历到是不一定的
      • rehash 的影响是如何解决的
  • --big-keys 用来找到 redis 中的大 key

相关文章

  • php操作redis大全

    php连接redis测试 php操作redis函数封装 php操作redis大全,基本上php操作redis常用的...

  • Redis学习之路(二):Redis数据结构简介

    Redis提供的5种结构 Redis中的字符串 基本命令 操作练习: Redis中的列表 基本命令 基本操作: R...

  • php对redis的基本操作

    php对redis的基本操作 对key的基本操作

  • php操作redis大全

    php连接redis测试 php操作redis大全,基本上php操作redis常用的函数都在下面了

  • redis 基本操作

    连接redis 选择数据库 查看所有key 查看list的全部值 返回列表 key 中指定区间内的元素,区间以偏移...

  • Redis 基本操作

    本人郑重承诺以下都是基本操作,请坐下请坐下。内容是跟着http://try.redis.io/做的。边学边笔记。更...

  • Redis基本操作

    通用操作 rename name xm 把键name重设为xm select 选择数据库(线上慎用) keys *...

  • Redis 基本操作

    启动与关闭Redis服务、进入Redis环境 1.启动Redis服务 redis-server 拷贝的redis....

  • Redis基本操作

    NoSQL(Not Only SQL) NoSQL指的是非关系型数据库,是对不同于传统关系型数据库的数据库管理系统...

  • redis基本操作

    Redis可以存储键与5种不同数据结构类型之间的映射,这5种数据结构类型分别为STRING(字符串)、LIST(列...

网友评论

      本文标题:Redis 基本操作

      本文链接:https://www.haomeiwen.com/subject/ghmutltx.html