中间件与数据库:Redis
分布式锁实现原理解析(Redis & WLock)
单机锁主要是为了同步同一进程中各个线程之间的操作。大多数互联网系统都是分布式部署的,当某个资源在多系统之间具有共享性的时候,为了保证大家访问这个资源数据是一致的,那么就必须要求在同一时刻只能被一个客户端处理,不能并发的执行,否者就会出现同一时刻有人写有人读,大家访问到的数据就不一致了。分布式锁,是指在分布式的部署环境下,通过锁机制来让多客户端互斥的对共享资源进行访问。
Redis 内存优化在 vivo 的探索与实践
本文主要是通过分析redis内存结构、介绍内存优化手段,同时结合实践案例,帮助大家在优化内存使用,快速定位redis相关内存异常问题。
深入浅出的Redis分布式锁
如果一定要要求分布式锁百分百可靠,那可以选用Zookeeper或者MySQL作为分布式锁,就能完美的解决锁安全的问题,但是选择了一致性那就要失去可用性,所以Zookeeper或者MySQL实现的分布式锁的性能远不如Redis实现的分布式锁。
Redis消息队列发展历程
本文盘点了Redis消息队列功能的发展历程。
Redis命令HSCAN踩坑指南
基于生产环境的真实案例,Redis 高风险命令 HSCAN 的踩坑指南。
Redis源码解析
本文深入源码,介绍了redis的几种基本数据类型,以及新版本的特性。
一文搞懂redis
本文详细介绍redis。
Redis事务&RedisTemplate事务使用
在得物技术体系中,大量使用Redis作为缓存中间件,以应对高并发下的大流量场景。在使用缓存时,不得不考虑数据一致性问题,即保证缓存中的数据和DB始终可以保持一致。常规的解决缓存一致性的方案一般为先修改DB并提交事物,再操作缓存更新或者失效,为了应对极端场景往往会再采用延迟操作的方式进行缓存的二次处理。
但实际开发中,遇到很多代码不规范的场景,在JDBC事务中进行缓存删除或者更新等操作,带来的问题是当JDBC事务未提交就完成了Redis的操作,容易造成二者数据不一致。所以我们思考:既然Redis本身也提供了事务的解决方案,那能不能将Redis事务和DB的事务进行结合,来保证数据一致性的问题呢?接下来我们就带着这个问题看看看Redis事务的实现、使用,最终探索一下将Redis操作结合DB事务使用的可能性。
一篇文章入门 redis
之前给团队的同事做了一次超容易理解的 Redis 入门分享,这里加以整理修改成文章分享给需要的童鞋。
本文将会从:Redis 使用场景与介绍 -> 数据结构与简单使用 -> 小功能大用处 -> 持久化、主从同步与缓存设计 -> 知识拓展 来书写,初学的童鞋只要能记住 Redis 是用来干嘛,各功能的使用场景有哪些,然后对 Redis 有个大概的认识就好啦,剩下的以后有需要的时候再来查看和实践吧!
Redis 7.0 Multi Part AOF的设计和实现
本文重点讨论AOF持久化方案,以及其存在的一些问题。
Redis 在 vivo 推送平台的应用与优化实践
推送平台的特点是并发高、消息量大、送达及时性较高。系统设计中采用Redis集群作为消息存储和中转,以及token信息存储。集群规模大。本文围绕推送系统对Redis集群的使用,遇到的问题及解决方案,优化过程讲解。
Redis 7.0 共享复制缓冲区的设计与实现
本文将主要分析 Redis 主从复制中的内存消耗过多和堵塞问题,以及 Redis 7.0 (尚未发布) 的共享复制缓冲区方案是如何解决这些问题的。
网易有道 REDIS 云原生实战
本次以Redis为范例,阐述了有道基础架构团队在基础设施容器化道路上的实践。
掰开揉碎系列之带你彻底了解Redis的Sorted-Set底层
希望通过本文让大家真正掌握跳表这种数据结构,掌握Redis的Sorted-Set底层实现的原理。
Using Redis HASH instead of SET to reduce cache size and operating costs
What if you could dramatically reduce the cost to operate on cloud providers? That’s what we found when we dug into Redis HASH vs SET.
Redis线程模型的前世今生
Redis线程模型为什么要这么设计,有什么优点和缺点,有哪些思想是可以借鉴的...本文从网络IO的历史、Reactor模型的历史、到Redis线程模型的设计由浅入深,慢慢道来。