Bitmap数据类型是什么?能用来干什么?

Redis 的 Bitmap 数据类型是一种位图数据结构,可以表示大量的二进制位,并对这些位进行高效的位操作。Bitmap 在许多实际场景中都有广泛的应用,以下是几个常见的使用场景:

用户在线状态:
Bitmap 可以用于记录用户的在线状态,[……]

继续阅读

消息队列是个啥?干啥用的?

消息队列是一种用于在应用程序之间传输数据的软件模式。它允许不同的应用程序通过在共享队列中存储和检索消息来实现异步通信。

消息队列通常包括三个主要组件:消息生产者、消息队列和消息消费者。消息生产者负责将消息发送到消息队列,而消息消费者则从消息队列中接收消息并进行[……]

继续阅读

背景

问题:
如何在秒杀环境下保证库存不卖超?
如何在保证整点开抢的优惠券能不多不少的发放完毕?

解决方案:
1. 使用MySQL中的库存字段进行扣减。在高并发的情况下由于业务代码的处理延迟,可能导致卖超,如果数据库还有读写分离,那就更加灾难了。
2. 将库存数据读取到内存中加锁进行[……]

继续阅读

HyperLogLog 是什么?

HyperLogLog 是一种基数估算算法, 并非redis独有。
目的是做基数统计,故不是集合,不会保存元数据,只记录数量而不是数值。
消耗空间极小,支持输入非常大体积的数据量。

具体应用场景

说人话,HyperLogLog能用来干啥?

假[……]

继续阅读

背景

上古面试题:让你实现一个附近的人功能,你有什么方案?

“附近的人” 功能生活中是比较常用的,像外卖app附近的餐厅,共享单车app里附近的车辆。既然常用面试被问的概率就很大,实现方法有很多种,MySQL8之后的空间索引,MongoDB的2d索引,Redis3.2之后的GEO等都可以很高[……]

继续阅读

Redis是干嘛用的?为什么要选用Redis?

Redis一个开源的,是高性能的 key-value 数据库,单线程,所有操作均为原子操作。可以用来进行高性能的内存缓存,例如高度重复的数据库查询、秒杀活动中的库存防超卖、消息队列、数据基数统计、距离数据索引/查询等等。本文先从基本的数据结构入手,进[……]

继续阅读

背景:

出于折腾和网络设备降价,最近入手了2.5G软路由,家里NAS和电脑都升级了2.5G网卡,电脑端正常打驱动后直接可以使用,外网网速跑满1300MB。但True NAS系统则迟迟打不上驱动,或者驱动不生效,多方爬贴也仅在网上找到最晚支持12.0版本FreeBSD核心的驱动,但我的系统已经更新到[……]

继续阅读

概述

“公共三级词汇”是由本人(@程序猿老龚)开发的一款app。我非常谨慎和严肃地对用户隐私数据。这份文档包含了在您使用“公共三级词汇”过程中我是如何收集和处理信息的。

我收集的信息

我不会收集、存储或传输任何可识别或不可识别的信息到我的服务器。未经您的同意,“公共三级词汇”绝对不会传输您[……]

继续阅读