一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Redis - 基于Redis的分布式鎖的簡單實現方法

基于Redis的分布式鎖的簡單實現方法

2019-11-19 18:15不要亂摸 Redis

這篇文章主要介紹了基于Redis的分布式鎖的簡單實現方法,Redis官方給出兩種思路,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

Redis官方給出兩種思路

第一種:SET key value [EX seconds] [PX milliseconds] NX

第二種:SETNX+GETSET

首先,分別看一下這幾個命令

SET命令

基于Redis的分布式鎖的簡單實現方法

基于Redis的分布式鎖的簡單實現方法

SETNX命令

基于Redis的分布式鎖的簡單實現方法

基于Redis的分布式鎖的簡單實現方法

GETSET命令

基于Redis的分布式鎖的簡單實現方法

基于Redis的分布式鎖的簡單實現方法

接著,看第一種方式

官方給出的思路是這樣的

基于Redis的分布式鎖的簡單實現方法

還有一處,也是類似的

基于Redis的分布式鎖的簡單實現方法

這種方式的實現可能是這樣的:

基于Redis的分布式鎖的簡單實現方法

基于Redis的分布式鎖的簡單實現方法

第二種方式

官方給出的思路是這樣的

基于Redis的分布式鎖的簡單實現方法

代碼可能看起來像是這樣

基于Redis的分布式鎖的簡單實現方法

總結:

這兩種方式的基本思路都是:客戶端在服務器上設置一個key值,如果能夠設置成功,則視為加鎖成功;刪除key,則表示解鎖。

不同之處在于,SET方式只需判斷能不能設置成功,刪除的時候判斷是不是自己設置的,萬一超時了利用系統自帶的生存時間可以自動釋放鎖。

而SETNX+GETSET方式除了需要判斷能不能設置成功,在設置失敗的時候還要進一步判斷其值是否有效,是否超時由客戶端自己判斷

基于Redis的分布式鎖的簡單實現方法

參考 https://redis.io/topics/distlock

延伸 · 閱讀

精彩推薦
  • Redisredis實現排行榜功能

    redis實現排行榜功能

    排行榜在很多地方都能使用到,redis的zset可以很方便地用來實現排行榜功能,本文就來簡單的介紹一下如何使用,具有一定的參考價值,感興趣的小伙伴們...

    乘月歸5022021-08-05
  • RedisRedis全量復制與部分復制示例詳解

    Redis全量復制與部分復制示例詳解

    這篇文章主要給大家介紹了關于Redis全量復制與部分復制的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Redis爬蟲具有一定的參考學習...

    豆子先生5052019-11-27
  • RedisRedis的配置、啟動、操作和關閉方法

    Redis的配置、啟動、操作和關閉方法

    今天小編就為大家分享一篇Redis的配置、啟動、操作和關閉方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧 ...

    大道化簡5312019-11-14
  • RedisRedis如何實現數據庫讀寫分離詳解

    Redis如何實現數據庫讀寫分離詳解

    Redis的主從架構,能幫助我們實現讀多,寫少的情況,下面這篇文章主要給大家介紹了關于Redis如何實現數據庫讀寫分離的相關資料,文中通過示例代碼介紹...

    羅兵漂流記6092019-11-11
  • Redis詳解Redis復制原理

    詳解Redis復制原理

    與大多數db一樣,Redis也提供了復制機制,以滿足故障恢復和負載均衡等需求。復制也是Redis高可用的基礎,哨兵和集群都是建立在復制基礎上實現高可用的...

    李留廣10222021-08-09
  • RedisRedis 事務知識點相關總結

    Redis 事務知識點相關總結

    這篇文章主要介紹了Redis 事務相關總結,幫助大家更好的理解和學習使用Redis,感興趣的朋友可以了解下...

    AsiaYe8232021-07-28
  • Redisredis 交集、并集、差集的具體使用

    redis 交集、并集、差集的具體使用

    這篇文章主要介紹了redis 交集、并集、差集的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友...

    xiaojin21cen10152021-07-27
  • Redisredis中如何使用lua腳本讓你的靈活性提高5個逼格詳解

    redis中如何使用lua腳本讓你的靈活性提高5個逼格詳解

    這篇文章主要給大家介紹了關于redis中如何使用lua腳本讓你的靈活性提高5個逼格的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具...

    一線碼農5812019-11-18
主站蜘蛛池模板: 扒开双腿羞辱调教play视频 | 6个老师的尿奴 | 九九99香蕉在线视频美国毛片 | 午夜爱情动作片P | 亚洲午夜小视频 | 啊用力好大粗黑人小说 | 日本大片免a费观看在线 | 欧美另类老女人 | 国产亚洲精aa在线观看不卡 | 暖暖高清日本在线 | 日韩毛片基地一区二区三区 | 免费在线观看小视频 | 清清草在线视频 | 日韩色综合 | 艾秋麻豆果冻剧传媒在线播放 | 国产精品久久久久久影院 | 色婷婷综合久久久中文字幕 | 成人操| 色cccwww| 久久综合久久伊人 | 办公室里被迫高h | 亚洲国产韩国欧美在线不卡 | 插鸡小说 | 九九九九在线视频播放 | 91精品国产亚一区二区三区 | 国产亚洲精aa在线观看香蕉 | 欧美日韩在线观看精品 | 国产乱子伦在线观看不卡 | 色哟哟久久 | 高h文道具| 日韩无遮挡大尺度啪啪影片 | 国产成人精品高清不卡在线 | 国产成人8x视频一区二区 | 91精品久久| 欧美同性猛男videos | 忘忧草在线社区WWW日本直播 | 色聚网久久综合 | 欧美一区二区三区四区五区六区 | 91九色国产porny | 91porn最新地址| sese在线观看 |