Redis的的是完全开源免费的,遵守BSD协议,是一个高性能的键值数据库。是当前最热门的的的NoSql数据库之一,也被人们称为数据结构服务器。 优点: 1 读写性能优异 2 支持数据持久化,支持AOF和RDB两种持久化方式 3 支持主从复制,主机会自动将数据同步到从机,可以进行读写分离。 4 数据结 ...
分类:
其他好文 时间:
2019-03-21 18:47:55
阅读次数:
194
分布式锁解决方案: 1.采用数据库乐观锁(不建议,性能不好,需要jdbc连接) 2.基于Redis实现分布式锁(setnx) 3.基于Zookeeper实现分布式锁。Zookeeper是分布式协调工具,在分布式解决方案中使用。 多个客户端(jvm),同时在zk上面创建相同的一个临时节点,因为临时节点 ...
分类:
其他好文 时间:
2019-03-07 01:10:18
阅读次数:
189
php调用redis进去读写操作,大并发下会出现:读取key1,没有内容则写入内容,但是大并发下会出现同时多个php进程写入的情况,这个时候需要加一个锁,即获取锁的php进程有权限写。 思路是:设置一个锁的key,setnx是原子操作,只能一个进程写入成功,写入成功返回true(表示获取锁权限),然 ...
分类:
Web程序 时间:
2019-03-02 23:59:33
阅读次数:
358
上一节介绍了关于字符串值的一些基本命令, 这一节将介绍一些进阶命令: 清理终端: 设置一个键值对, 同时设置过期时间为10秒: 查看剩余的过期时间: 设置一个键值对, 同时设置过期时间为30000毫秒, 注意, 使用 psetex 设置过期时间, 时间的单位为毫秒: 设置一个键值对, 但是想要确认这 ...
分类:
其他好文 时间:
2019-02-20 22:52:27
阅读次数:
363
引言:最近回头看了看之前和同事一起开发的.Net Core 2.1的项目,其中在多处用到Redis实现的分布式锁,虽然在OnResultExecuting方法中做了防止死锁的处理,但在某些场景下还是会发生死锁的问题,下面我只展示部分代码: 问题: (1)这里setnx设置的值“1”,我想问,你最后d ...
分类:
Web程序 时间:
2019-01-26 15:29:51
阅读次数:
320
分布式锁(string) setnx key value,当key不存在时,将 key 的值设为 value ,返回1。若给定的 key 已经存在,则setnx不做任何动作,返回0。 当setnx返回1时,表示获取锁,做完操作以后del key,表示释放锁,如果setnx返回0表示获取锁失败,整体思 ...
分类:
其他好文 时间:
2019-01-15 21:08:01
阅读次数:
209
一、简介一般来说,对数据进行加锁时,程序先通过acquire获取锁来对数据进行排他访问,然后对数据进行一些列的操作,最后需要释放锁。Redis本身用watch命令进行了加锁,这个锁是乐观锁。使用watch命令对于频繁访问的键会引起性能的问题。二、redis命令介绍SETNX命令(SETifNoteXists)当且仅当key不存在,将key的值设为value,并返回1;若给定的key已经存在,则SE
分类:
编程语言 时间:
2019-01-15 10:35:24
阅读次数:
182
1.hset hset(name,key,value) 设置name对应的hash中的一个键值对,不存在则创建;存在则修改。 2.hsetenx hsetnx(name,key,value) 设置那么中对应的键值对,是只能新建攸,亲。不能修改 3.hmset hmset(name,mapping), ...
分类:
其他好文 时间:
2019-01-15 00:56:49
阅读次数:
169
1. redis加锁分类 redis能用的的加锁命令分表是INCR、SETNX、SET2. 第一种锁命令INCR 这种加锁的思路是, key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作进行加一。 然后其它用户在执行 INCR 操作进行加一时,如果返回的数大于 1 ,说 ...
分类:
其他好文 时间:
2018-12-23 12:02:02
阅读次数:
136
最近抽空优化了之前已有的redis分布式锁,主要用于解决高并发的问题,比如抢红包,多个人同时操作红包库存,当在库存只剩下1个的时候,一个人的减库存的操作事务没提交,另一个人的查库存操作刚好同步执行,这样就会出现很尴尬的事情,1个红包会被2个人抢走,这个时候,我们就要依托锁,将请求入口锁住,当然锁有很多种方式,这边就记录一下比较好用的redis分布式锁。方式有很多setNX、set、incr等等,s
分类:
其他好文 时间:
2018-12-19 17:05:04
阅读次数:
146