码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 面试-Redis常见场景


    1.从海量的数据里查询某一固定前缀的key
    (1)keys pattern指令:
    在这里插入图片描述
    摸清数据规模(很重要)
    (2)cursor:游标
    Scan cursor [MATCH pattern] [COUNT count]
    可以无阻塞的提取出指定模式的key列表
    基于游标的迭代器,需要基于上一次的游标延续之前的迭代过程。
    以0作为游标开始一次新的迭代,直到命令返回游标为0完成一次遍历
    不保证每次执行都需要返回某个给定数量的元素,支持模糊查询
    一次返回数量不可控,只能是大概率符合count参数

    2.如何通过redis实现分布式锁
    分布式锁:是控制分布式系统或不同系统之间共同访问共享资源的一种锁的实现。
    分布式锁需要解决的问题:
    互斥性;安全性;死锁;容错;
    在这里插入图片描述
    原子性操作。用来实现分布式锁。在执行某段代码逻辑时,先使用SETNX对某个key设值,设置成功表示没有别的线程在执行该段代码。反之,就有别的线程正在占用该段资源。

    如何解决SETNX长期有效的问题?
    expire key seconds
    设置key的生存时间,当key过期时(生存时间为0),会自动删除

    优化:从Redis 2. 6.12开始可以将SETNX和expire结合。
    在这里插入图片描述
    3.如何实现异步队列:
    在这里插入图片描述
    使用list作为队列,RPUSH生产消息,LPOP消费消息。
    缺点:没有等待队列里有值就直接消费
    弥补:可以通过在应用层引入Sleep机制去调用LPOP重试。

    在这里插入图片描述
    BlPOP能代替sleep做更精准的阻塞控制。

    在这里插入图片描述
    在这里插入图片描述
    缺点:消息的发布是无状态的,无法保证可达。
    对于发布者来说消息是即发即失的。若消费者在生产者发布消息时下线,重新上线时是接收不到该消息的。要解决这个问题,就要使用专业的消息队列。如Kafka,rabbitMQ

  • 相关阅读:
    python知识点100篇系列(18)-解析m3u8文件的下载视频
    Redis特性与应用场景
    Mysql批量插入数据时如何解决重复问题
    计算机毕业设计之java+javaweb的大学生就业帮助系统-就业招聘网站
    Spark之Container killed on request.Exit code is 137
    浏览器跨域
    C/C++轻量级并发TCP服务器框架Zinx-框架开发001: 读取标准输入,回显到标准输出
    怎样学习C#上位机编程?
    Ajax学习笔记第8天
    C语言刷题练习(Day2)
  • 原文地址:https://blog.csdn.net/TOMORROW6COME/article/details/139824557
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号