数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。

加载中
置顶
后端工程师
发表了博客
03/11 03:13

关于redis缓存数据库的一些思考

#### 今晚无聊,躺在床上,在刷技术文章时,看见了一篇关于redis缓存的文章 写的蛮好,这也就引起了我对于redis思考! 不如往深了说 引起了我对于追求探索技术本质的一些思考 平时在网上刷到很多关于redis的文章,我也在项目中经常用到redis这个缓存数据库 记得自己初学redis时 总是纠结技术如果去学 但是随着阅历以及学习能力和经验的提高 自己也对技术也有一些悟出来的道理 或者说是如何学好技术 往后有时间或者哪天心血来潮了写一篇... 展开更多

收藏 15
1
置顶
发表了博客
03/10 14:51

华为云PB级数据库GaussDB(for Redis)介绍第四期:高斯 Geo的介绍与应用

摘要:高斯Redis的大规模地理位置信息存储的解决方案。 1、背景 LBS(Location Based Service,基于位置的服务)有非常广泛的应用场景,最常见的应用就是POI(Point of Interest)的查询,例如用户查找附近的人,附近的餐厅,附近的外卖商家等等。LBS的实现需要数据库存储地理位置信息,开源Redis是一个功能强、效率高、使用方便的缓存数据库,实现了地理位置存储的功能,可以用于LBS的数据存储。 开源Redis 3.2以上版本的Geo功... 展开更多

收藏 2
0
置顶
发表了博客
03/05 17:06

redis 分布式锁的 5个坑,真是又大又深

引言 最近项目上线的频率颇高,连着几天加班熬夜,身体有点吃不消精神也有些萎靡,无奈业务方催的紧,工期就在眼前只能硬着头皮上了。脑子浑浑噩噩的时候,写的就不能叫代码,可以直接叫做Bug。我就熬夜写了一个bug被骂惨了。 由于是做商城业务,要频繁的对商品库存进行扣减,应用是集群部署,为避免并发造成库存超买超卖等问题,采用 redis 分布式锁加以控制。本以为给扣库存的代码加上锁lock.tryLock就万事大吉了 /** ...... 展开更多

收藏 25
4
置顶
发表了博客
03/04 08:31

面试被吊打 - Redis原理

小张兴冲冲去面试,结果被面试官吊打! 小张: 面试官,你好。我是来参加面试的。 面试官: 你好,小张。我看了你的简历,熟练掌握Redis,那么我就随便问你几个Redis相关的问题吧。首先我的问题是,Redis是单线程还是多线程呢? 小张: Redis不同版本之间采用的线程模型是不一样的,在Redis4.0版本之前使用的是单线程模型,在4.0版本之后增加了多线程的支持。 在4.0之前虽然我们说Redis是单线程,也只是说它的网络I/O线程以及S... 展开更多

收藏 32
8
置顶
发表了博客
02/08 11:50

Redis Sentinel 源码:Redis的高可用模型分析

摘要:本文通过对Redis Sentinel源码的理解,详细说明Sentinel的代码实现方式。 Redis Sentinel 是Redis提供的高可用模型解决方案。Sentinel可以自动监测一个或多个Redis主备实例,并在主实例宕机的情况下自动实行主备倒换。本文通过对Redis Sentinel源码的理解,详细说明Sentinel的代码实现方式。 Sentinel使用Redis内核相同的事件驱动代码框架, 但Sentinel有自己独特的初始化步骤。在这篇文章里,会从Sentinel的初始化、Sen... 展开更多

收藏 1
1
置顶
发表了博客
02/03 10:35

PHP开发:Redis 内存满了怎么办?

Redis占用内存大小 Redis的内存淘汰 LRU算法 LRU在Redis中的实现 LFU算法 问题 Redis占用内存大小 我们知道Redis是基于内存的key-value数据库,因为系统的内存大小有限,所以我们在使用Redis的时候可以配置Redis能使用的最大的内存大小。 1、通过配置文件配置 通过在Redis安装目录下面的redis.conf配置文件中添加以下配置设置内存大小 //设置Redis最大占用内存大小为100M maxmemory 100mb redis的配置文件不一定使用的是安装目.... 展开更多

收藏 0
0
置顶
发表了博客
01/27 11:56

Redis为什么快呢?而查询为何会变慢呢?

越努力,越幸运, 本文已收藏在Gitee中[JavaCommunity](https://gitee.com/JavaCommunity/JavaCommunity), 里面有面试分享、源码分析系列文章,欢迎收藏,点赞 https://gitee.com/JavaCommunity/JavaCommunity 在实际开发,`Redis`使用会频繁,那么在使用过程中我们该如何正确抉择数据类型呢?哪些场景下适用哪些数据类型。而且在面试中也很常会被面试官问到Redis数据结构方面的问题: + **Redis为什么快呢?** + **为什么查询操... 展开更多

收藏 4
2
置顶
发表了博客
01/26 13:59

面试必问:如何实现Redis分布式锁

摘要:今天我们来聊聊分布式锁这块知识,具体的来看看Redis分布式锁的实现原理。 一、写在前面 现在面试,一般都会聊聊分布式系统这块的东西。通常面试官都会从服务框架(Spring Cloud、Dubbo)聊起,一路聊到分布式事务、分布式锁、ZooKeeper等知识。 所以咱们这篇文章就来聊聊分布式锁这块知识,具体的来看看Redis分布式锁的实现原理。 说实话,如果在公司里落地生产环境用分布式锁的时候,一定是会用开源类库的,比如Redis分... 展开更多

收藏 3
0
置顶
高级程序员
发表了博客
01/26 09:00

Redis 核心篇:唯快不破的秘密

“ 天下武功,无坚不摧,唯快不破! ” 学习一个技术,通常只接触了零散的技术点,没有在脑海里建立一个完整的知识框架和架构体系,没有系统观。这样会很吃力,而且会出现一看好像自己会,过后就忘记,一脸懵逼。 跟着「码哥字节」一起吃透 Redis,深层次的掌握 Redis 核心原理以及实战技巧。一起搭建一套完整的知识框架,学会全局观去整理整个知识体系。 系统观其实是至关重要的,从某种程度上说,在解决问题时,拥有了系统观,... 展开更多

收藏 19
1
置顶
发表了博客
01/07 21:20

为什么删除数据后,Redis内存占用依然很高?

点击上方 IT牧场 ,选择 置顶或者星标 技术干货每日送达 前言 上周刚来了个应届小师弟,组长说让我带着,周二问了我这样一个问题:师兄啊,我用top命令看了下服务器的内存占用情况,发现Redis内存占用严重,于是我就删除了大部分不用的keys,为什么内存占用还是很严重,并没有释放呢? 嗯?为什么呢?今天就带着这个问题来介绍一下如何正确释放Redis的内存。 什么是内存碎片? 内存碎片这个概念应该不是第一听说了,熟悉JVM或者... 展开更多

收藏 5
1
置顶
发表了博客
2020/10/30 13:12

Redis五大数据结构使用场景

Redis是一种基于键值对的NoSQL数据库,它的值主要由string(字符串),hash(哈希),list(列表),set(集合),zset(有序集合)五种基本数据结构构成,除此之外还支持一些其他的数据结构和算法。key都是由字符串构成的,那么这五种数据结构的使用场景有哪些?一起来看看! ## 一 字符串 字符串类型是Redis最基础的数据结构,字符串类型可以是`JSON`、`XML`甚至是二进制的图片等数据,但是最大值不能超过512MB。 ### 1.1 内部... 展开更多

收藏 9
1
置顶
技术主管
发表了博客
01/04 09:52

每日一面 - Redis程序设计中,上百万的新闻,如何实时展示最热点的top10条呢

假设可以使用 **MySQL**,**redis**,**本地缓存**以及**MQ**。 用户量级**千万**,新闻数据**百万**,**用户数比新闻数还多**。用户的操作包括: - 关注某个新闻 - 获取某个新闻的关注数量 - 获取 top10 热点新闻 - 查询自己关注的新闻。 可以推测,**获取 top10 热点新闻请求会远大于关注某个新闻的请求**。这些请求都不能直接压入数据库,数据库受不了。 首先想到的是 Redis 中的 **Zset**,所有的新闻id作为key放入同一个zse... 展开更多

收藏 8
1
置顶
发表了资讯
2020/12/06 16:38

Repoll Redis 管理平台发布 MVP 版本

Repoll v0.1 现已发布。该版本提供了必要redis实例管理功能:例如在提供的开发同学申请资源、管理领导审批、DBA或者运维同学自动化完成redis实例上线的审批工作流,以及对于基础的redis资源池服务器的基本管理等等。同时,该版本还提供了实例的存活状态、QPS、内存扩缩容等基础常用功能。整体的用户体验进行了优化改进,大大简化流程。加快资源的交付效率的同时,保证了交付质量。 下载地址:传送门 版本功能介绍: 标准化redis... 展开更多

收藏 12
置顶
高级程序员
发表了博客
2020/11/23 12:00

HashMap 最见功底!

随着 JDK 1.8 Streams API 的发布,使得 HashMap 拥有了更多的遍历的方式,但应该选择那种遍历方式?反而成了一个问题。 本文先从 HashMap 的遍历方法讲起,然后再从性能、原理以及安全性等方面,来分析 HashMap 各种遍历方式的优势与不足,本文主要内容如下图所示: HashMap 遍历 HashMap 遍历从大的方向来说,可分为以下 4 类: 迭代器(Iterator)方式遍历; For Each 方式遍历; Lambda 表达式遍历(JDK 1.8+); Streams A... 展开更多

收藏 11
1
置顶
架构师
发表了博客
02/20 21:28

干货 | Redis 实现发布订阅原理与实践

我是架构精进之路,点击上方“关注”,坚持每天为你分享技术干货,私信我回复“01”,送你一份程序员成长进阶大礼包。 写在前面 Redis 是完全开源的,高性能的 key-value 数据库,受到越来越多的业务场景应用。对于"发布/订阅"的消息模式,大家也许都比较了解,但是其实现原理及应用是否还存在模糊呢? 今天计划同大家一起,深入浅出讲透 Redis 发布订阅,尽量通俗易懂,让大家轻松上手。 发布/订阅模式 关于发布/订阅模式 在软... 展开更多

收藏 2
0
置顶
发表了博客
01/28 17:19

大厂的Redis锁竟然是这么用的,难怪不会超卖!

# 1 本地锁 常用的即 synchronize 或 Lock 等 JDK 自带的锁,只能锁住当前进程,仅适用于单体架构服务。 而在分布式多服务实例场景下必须使用分布式锁 ![](https://p1-tt.byteimg.com/origin/pgc-image/2b76cbe866fd4f678a000689b55281a2?from=pc) # 2 分布式锁 **2.1 分布式锁的原理** 厕所占坑理论 可同时去一个地方“占坑”: - 占到,就执行逻辑 - 否则等待,直到释放锁 可通过自旋方式自旋 “占坑”可以去Redis、DB、任何所... 展开更多

收藏 12
1
置顶
发表了博客
01/26 14:05

阿里开源Redis“神级”手册我粉了!理论源码实战起飞(2021最新)

Redis作为NoSQL的“代言人”发展至今已经非常成熟了。而作为一个非常优秀的程序员,学习、精通,深入去阅读源码都成为必备“气质”! 今天就来开源一份阿里2021年最新发布的Redis“神级”手册,这份手册从基础开始讲起,到原理,再到应用、集群,然后去拓展,最后再深入到源码层面去学习、理解Redis! 需要领取手册的小伙伴点赞文章,关注我之后直接添加小助理vx:bjmsb2020 即可 基础篇 原理篇 最终一致 主从同步 增量同步 应用... 展开更多

收藏 0
0
置顶
程序员
发表了博客
01/26 11:59

redis分布式锁和2个房客的故事你听过吗

为什么需要分布式锁这里就不赘述了。常见的分布式锁实现方案有Redis、Zookeeper,数据库。 设计一个分布式锁,至少应该保证以下3个方面: 安全: 独享(相互排斥)。在任意一个时刻,只有一个客户端持有锁。 无死锁:即便是天塌下来,也要锁能释放。 容错。只要大部分Redis节点都活着,客户端就可以获取和释放锁。 redis部署方案一般有这3种。 单机模式 master-slave + sentinel redis cluster模式 我们看这3种如何实现分布式锁。... 展开更多

收藏 0
0
置顶
程序员
发表了博客
01/26 09:32

redis知识点

1.redis持久化机制 redis是一个支持持久化的内存数据库,通过持久化机制把内存中的数据同步到硬盘文件来保证数据持久化,当redis重启后通过把硬盘文件重新加载到内存,就能达到恢复数据的目的 实现: 单独创建fork()一个子进程,将当前父进程的数据库数据复制到子进程的内存中,然后由子进程写入到临时文件中,持久化的过程结束了,在用这个临时文件替换上一次快照文件,然后子进程退出,内存释放。 RDB是redis默认的持久化方式... 展开更多

收藏 0
0
置顶
技术主管
发表了博客
01/26 08:09

每日一面 - 假设 Redis 基本可靠,如何用单进程 Redis 实现分布式悲观锁

> 麻烦大家帮我[投一票](https://rank.juejin.cn/?u=%E5%B9%B2%E8%B4%A7%E6%BB%A1%E6%BB%A1%E5%BC%A0%E5%93%88%E5%B8%8C&t=user)哈,谢谢 # 什么是分布式锁 针对共享内存模型的程序(例如JAVA程序),锁就是一个非常常用的机制。 一般简单分为悲观锁和乐观锁。悲观锁就是你获取这块数据的锁之后,别人就无法访问或操作这块数据,直到你释放这个锁。乐观锁一般就是CAS更新。 在单进程内内存的锁,只控制进程内数据的,就是非分布... 展开更多

收藏 0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
返回顶部
顶部