redis分布式锁与事务

分布式锁是可以跨越多个实例,多个进程的锁。

一个tomcat实例是一个JVM进程,单体锁(synchronized、ReentrantLock)是JVM层面的锁,只能控制单个实例上的并发访问安全,多实例下依然存在数据一致性问题。

分布式锁:所有实例的所有线程都去获取同一把锁,但只有一个线程可以成功的获得锁,其他没有获得锁的线程必须全部等待,直到持有锁的线程释放锁。

redis 数据结构是键值对的形式, 

redis的key必须是string

value 有5种数据类型,分别是:String、List、Set、Zset、Hash

dbsize:  查看redis键的数量

exists key: 查看某个key是否存在

set key v:设置一个key

get key:查询某个key

del  key:删除某个key

setnx key:key不存在,才能设置成功。设置分布式锁用setnx

keys *:查看所有的key

expire key 5:设置key的过期时间是5秒

ttl key:如果是-1,表示没有过期时间

mset :设置多个键值对

mget:获取多个键值

incr incr-key:自增key

decr incr-key:自减key

strlen key:返回key的value的长度

hmset:设置hash值

redis持久化:

设置hash类型的值

redis返回key的类型, 下图表示hash类型,也就是键值对的类型

redis list类型插入值

给set添加元素,显示元素

sinter:返回两个集合的交集

 

 sunion:并集

redis开启事务和提交事务

 

 

 

AOF:append only file

 

 解锁

 

 

 加锁

解锁

 redission插件,分布式锁的实现,

看门狗续期

 

 redis释放锁命令

 

posted @   northli  阅读(224)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示