Redis命令性能优化及事务使用过程
场景 假设有这样一个使用场景,依次执行下面的5条命令 命令1:hset mall:sale:freq:ctrl:860000000000001 599055114591 1(hash结构,field表示购买的商品ID,value表示购买次数...
场景 假设有这样一个使用场景,依次执行下面的5条命令 命令1:hset mall:sale:freq:ctrl:860000000000001 599055114591 1(hash结构,field表示购买的商品ID,value表示购买次数...
现实生活中的使用场景 几个摄影师朋友找到你, 他们的摄影作品上传到自己的blog后总是被其他人盗用, 使用水印之类的方法也无法避免像截取部分这种情况, 他们需要一个能证明摄影作品最早是由 自己上传、而且具有法律效力可供自己进行维权的工具 显...
获取 IDEA 激活码、PyCharm 激活码、WebStorm 激活码和 DataGrip 激活码,提供详细破解教程与永久激活方法。支持 IDEA 永久激活与破解,免费获取注册码与激活码,解决 2024/2025 版本激活问题,轻松实现所有 JetBrains 工具的激活。
安装部署docker jenkins 环境 创建一个文件夹 用于存放jenkins相关配置 mkdir /Users/mengfanxiao/docker/jenkins 下载docker jenkins镜像 docker pull jen...
Semaphore共享锁 简介 在多线程环境下用于协调各个线程, 以保证它们能够正确、合理的使用公共资源 信号量维护了一个许可集,我们在初始化Semaphore时需要为这个许可集传入一个数量值, 该数量值代表同一时间能访问共享资源的线程数量...
AQS简介 原名 AbstractQueuedSynchronizer 即队列同步器 是构建锁和其他同步组件的基础框架(如ReentrantLock、ReentrantReadWriteLock、Semaphore、CountDownLat...
可重入锁ReentrantLock实现层面依赖 一、CAS(compareAndSet) LockSupport 基本的方法 park park使得当前线程放弃cpu 进入等待(waiting)状态 操作系统不会再对其进行调度 直到其他线程...
简介 栅栏类似于闭锁,它能阻塞一组线程直到某个事件的发生。栅栏与闭锁的关键区别在于,所有的线程必须同时到达栅栏位置,才能继续执行。闭锁用于等待事件,而栅栏用于等待其他线程。 CyclicBarrier可以使一定数量的线程反复地在栅栏位置处汇...
前言 本文介绍下面试的高能考点 countDownLatch 的原理和应用 countDownLatch具有的功能 CountDownLatch主要有两个方法,当一个或多个线程调用await方法时,这些线程会阻塞。 其它线程调用countD...
前言 上篇文章介绍了通过 SET key_name my_random_value NX PX 30000 NX 表示if not exist 就设置并返回True,否则不设置并返回False PX 表示过期时间用毫秒级, 30000 表示...
前言 这篇文章介绍下如何实现redis来实现分布式锁及原理简介 原理简介 redis 获取分布式锁使用lua脚本的命令 setnx pexpire(提供了毫秒的过期时间,expire提供了基于秒的过期时间) lua脚本(保证脚本中的命令被一...