原文:分布式系列十一: Redis进阶

分布式锁 数据库 数据库是使用唯一索引不允许重复的特性 或自定义实现如乐观锁 . 但持有锁的进程如果释放锁时异常则容易导致死锁. zookeeper 使用临时节点, watcher可以获得节点被删除的通知, 当客户端连接失效后, 临时节点清除, 所以这种情况下不会有死锁发生. redis setNX实现 lua语言 redis可以使用lua脚本. lua是动态类型语言. 减少网络开销 原子操作 代 ...

2019-04-15 13:15 0 523 推荐指数:

查看详情

redis系列:基于redis分布式

一、介绍 这篇博文讲介绍如何一步步构建一个基于Redis分布式锁。会从最原始的版本开始,然后根据问题进行调整,最后完成一个较为合理的分布式锁。 本篇文章会将分布式锁的实现分为两部分,一个是单机环境,另一个是集群环境下的Redis锁实现。在介绍分布式锁的实现之前,先来了解下分布式锁的一些信息 ...

Wed Aug 15 18:30:00 CST 2018 5 27561
Redis分布式缓存系列(四)- Redis中的Set类型

系列将和大家分享Redis分布式缓存,本章主要简单介绍下Redis中的Set类型,以及如何使用Redis解决数据去重、共同好友、可能认识、统计访问网站的IP数、统计点赞数和随机获取某项值等问题。 Set类型:用哈希表来保持字符串的唯一性,没有先后顺序,存储一些集合性的数据。(去重、无序集合 ...

Thu Nov 19 06:12:00 CST 2020 0 602
Redis分布式缓存系列(五)- Redis中的ZSet类型

系列将和大家分享Redis分布式缓存,本章主要简单介绍下Redis中的ZSet类型,以及如何使用Redis解决实时排行榜问题。 Sorted Sets是将 Set 中的元素增加了一个权重参数 score,使得集合中的元素能够按 score 进行有序排列。 ZSet类型最大的特点就是有序、去重 ...

Sat Nov 21 07:30:00 CST 2020 0 602
Redis分布式缓存系列(三)- Redis中的Hash类型

系列将和大家分享Redis分布式缓存,本章主要简单介绍下Redis中的Hash类型。 散列Hash:类似dictionary,通过索引快速定位到指定元素的,耗时均等,跟string的区别在于不用反序列化,直接修改某个字段。 存储形式: hashId-{key:value;key:value ...

Tue Nov 17 06:55:00 CST 2020 0 469
Redis分布式缓存系列(六)- Redis中的List类型

系列将和大家分享Redis分布式缓存,本章主要简单介绍下Redis中的List类型,以及如何使用Redis解决博客数据分页、生产者消费者模型和发布订阅等问题。 Redis List的实现为一个双向链表,即可以支持反向查找和遍历,更方便操作,不过带来了部分额外的内存开销,Redis内部的很多实现 ...

Thu Nov 26 06:05:00 CST 2020 0 663
分布式缓存系列Redis实现分布式锁的正确姿势

一、前言   在我们日常工作中,除了Spring和Mybatis外,用到最多无外乎分布式缓存框架——Redis。但是很多工作很多年的朋友对Redis还处于一个最基础的使用和认识。所以我就像把自己对分布式缓存的一些理解和应用整理一个系列,希望可以帮助到大家加深对Redis的理解。本系列的文章思路 ...

Mon Jan 21 03:42:00 CST 2019 3 10421
分布式缓存系列】集群环境下Redis分布式锁的正确姿势

一、前言   在上一篇文章中,已经介绍了基于Redis实现分布式锁的正确姿势,但是上篇文章存在一定的缺陷——它加锁只作用在一个Redis节点上,如果通过sentinel保证高可用,如果master节点由于某些原因发生了主从切换,那么就会出现锁丢失的情况: 客户端1在Redis ...

Thu Jan 24 06:30:00 CST 2019 7 5605
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM