分布式
文章平均质量分 68
z y_
这个作者很懒,什么都没留下…
展开
-
读写锁、悲观锁、乐观锁
在编程世界里,「锁」更是五花八门,多种多样,每种锁的加锁开销以及应用场景也可能会不同。 如何用好锁,也是程序员的基本素养之一了。 高并发的场景下,如果选对了合适的锁,则会大大提高系统的性能,否则性能会降低。 所以,知道各种锁的开销,以及应用场景是很有必要的。 读锁 也叫共享锁 (shared lock) 使用 SELECT * FROM table_name WHERE ... LOCK IN SHARE MODE 即事务A 使用共享锁 获取了某条(或者某些)记录时,事务B 可以读取这些记录,可以继续添加原创 2021-08-12 17:24:06 · 582 阅读 · 0 评论 -
Redis 分布式锁
多线程情况下访问一些共享资源需要加锁,不如会出现数据被写乱多情况。 对于分布式多锁服务,一般可以用Redis、数据库或ZooKeeper等实现。分布式锁有以下几个特点: 1.安全性:任意时刻,只有一个客户端可以获得锁(排他性) 2.避免死锁:无死锁。即使锁定资源的客户端崩溃或分区,也始终可以获得锁定。 3.容错能力:只要锁服务集中群大多数Redis节点存活,客户端就可以获取和释放锁 Redis 实现 Redis官方文档 加锁 SET resource_name my_random_value NX PX m原创 2020-10-01 22:04:36 · 94 阅读 · 0 评论